Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
107014 梁颢城 四色地图 C++ 通过 100 0 MS 260 KB 974 2023-10-18 13:35:33

Tests(10/10):


#include <bits/stdc++.h> using namespace std; bool mp[300][300]; int ans[300]; bool number(char c){ return ('0'<=c&&c<='9'); } int n,x,num; bool check(int k){ for(int i=1;i<=n;i++) { if(mp[i][k]&&ans[i]==ans[k]&&k!=i)return 0; } return 1; } void dfs(int k){ if(k>=n){ for(int i=1;i<=n;i++){ cout<<ans[i]<<" "; } cout << endl; exit(0); } for(int i=1;i<=4;i++){ ans[k+1]=i; if(check(k+1)){ dfs(k+1); } ans[k+1]=0; } } signed main(){ string s; int tmp1,tmp2; cin>>n; getline(cin,s); int sb_bug; for(int i=1;i<=n;i++){ getline(cin,s); if(number(s[1])){ tmp1 = ((s[0]-'0')*10)+(s[1]-'0'); sb_bug=3; } else{ tmp1=s[0]-'0'; sb_bug=2; } tmp2=0; s+=' '; for(int j=sb_bug;j<s.length();j++){ if(number(s[j])){ tmp2 = tmp2*10+(s[j]-'0'); } else{ mp[tmp1][tmp2]=true; mp[tmp2][tmp1]=true; tmp2=0; } } } dfs(0); return 0; }


测评信息: