提交时间:2024-03-16 21:03:38
运行 ID: 138571
#include<bits/stdc++.h> using namespace std; const int N=30; bool a[N][N]; bool IsNumber(char c){ return (c>='0'&&c<='9'); } int co[110]; int n; int j; bool check(int k){ for(int i=1;i<=n;i++){ if(a[k][i]&&co[i]==co[k]&&k!=i){ return false; } } return true; } int main(){ char c; scanf("%d",&n); getchar(); int k=1,fw=0; for(int i=1;i<=n;i++){ scanf("%d",&fw); do{ int sb=0; while(IsNumber(c=getchar())){ sb=sb*10+c-'0'; } a[fw][sb]=1; } while(c!='\n'); } while(k<=n){ co[k]++; while((co[k]<=4)&&(!check(k))){ co[k]++; } if(co[k]>4){ k--; } else{ co[++k]=0; } } for(int i=1;i<=n;i++){ printf("%d ",co[i]); } printf("\n"); return 0; }