Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
138571 | 林扬泉 | 四色地图 | C++ | 通过 | 100 | 0 MS | 260 KB | 764 | 2024-03-16 21:03:38 |
#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; }