玄学题目 样例都不用过的那种
枚举每个a,b统计a与b之间的关系 若满足条件(代码)则将把b染成a的颜色

#include<bits/stdc++.h>
using namespace std;
int f[305][305],a[305],co[1005];
char ss[1000500];
int main (){
int T;
scanf("%d",&T);
while(T--){
    int color=0;
    memset(co,0,sizeof(co));
    int n,s;
    scanf("%d%d",&n,&s);
    scanf("%s",ss);
    int cnt=0;
    for(int i=1;i<=n;++i){
        for(int j=i+1;j<=n;++j)
            f[i][j]=f[j][i]=ss[cnt++]-'0';
    }
    for(int i=1;i<=n;++i) f[i][i]=1;//矩阵
    for(int i=1;i<=n;++i){//枚举a
        if(co[i]==0){
            int ans=0;cnt=0;
            co[i]=++color;

            for(int j=1;j<=n;++j)if(f[i][j]&&co[j]==0) a[++cnt]=j;//a的关系

            for(int j=1;j<=n;++j){//枚举b
                ans=0;
                for(int k=1;k<=cnt;++k){
                    if(f[j][a[k]]) ans++;
                }
                if(ans>=cnt/3) co[j]=co[i];//判断条件

            }
        }

    }

    for(int i=1;i<n;++i) printf("%d ",co[i]-1);
    printf("%d\n",co[n]-1);
}

}
https://ac.nowcoder.com/acm/contest/5669/I