Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
107821 | 朱悦晨 | 四色地图 | C++ | 通过 | 100 | 0 MS | 260 KB | 1225 | 2023-10-28 11:01:46 |
#include<bits/stdc++.h> using namespace std; int n,a[30][30],cl[30]= {0}; bool visited[30]; string s; int turnNumber(int &x) { if(s[x]==' ') { x++; } int ru=0; while((s[x]<='9')&&(s[x]>='0')) { ru*=10; ru+=s[x++]-'0'; } return ru; } void workDFS(int x) { visited[x]=1; bool tp[5]={0}; for(int i=1; i<=n; i++) { if((visited[i])&&(a[x][i]==1)) { tp[cl[i]]=1; } } for(int i=1; i<=4; i++) { if(!tp[i]) { cl[x]=i; cout<<cl[x]<<" "; return; } } return; } int main() { cin>>n; for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { a[i][j]=-1; } } getline(cin,s); for(int i=1; i<=n; i++) { getline(cin,s); int j=0; turnNumber(j); while(j<s.length()) { int tn=turnNumber(j); a[i][tn]=1; a[tn][i]=1; j++; } } for(int i=1; i<=n; i++) { workDFS(i); } cout<<endl; return 0; }