Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
100325 罗恩祥 四色地图 C++ 运行出错 20 0 MS 280 KB 1917 2023-08-25 11:13:47

Tests(2/10):


#include <iostream> #include <vector> using namespace std; vector <int> map[1024]; int color[100]; int N; void dfs(int node) //表示区域 { if(node == N+1) return; bool lst[5] = {1,1,1,1,1}; for(int i = 0;i < map[node].size();i++) { lst[map[node][i]] = 0; } for(int i = 1;i <= 4;i++) { if(lst[i] == 1) { color[node] = i; break; } } dfs(node+1); } int main() { cin >> N; getchar(); for(int i = 1;i <= N;i++) { string x; getline(cin,x); int index; //代表x区域 if(x[1] != ' ') //x为2位数 { index = int(x[0] - '0')*10+int(x[1] - '0'); //cout << index << endl; for(int k = 2;k < x.size();k++) { if(x[k] != ' ') //说明是个数字 { if(k+1 < x.size()) { if(x[k+1] != ' ') //两位数 { int num = int(x[k] - '0')*10+int(x[k+1] - '0'); map[index].push_back(num); } else //一位数 { map[index].push_back(int(x[k] - '0')); } } else { map[index].push_back(int(x[k] - '0')); } } } } else if(x[1] == ' ') //x为1位数 { index = int(x[0] - '0'); //cout << index << endl; for(int k = 1;k < x.size();k++) { if(x[k] != ' ') //说明是个数字 { if(k+1 < x.size()) { if(x[k+1] != ' ') //两位数 { int num = int(x[k] - '0')*10+int(x[k+1] - '0'); map[index].push_back(num); } else //一位数 { map[index].push_back(int(x[k] - '0')); } } else { map[index].push_back(int(x[k] - '0')); } } } } } /*for(int i = 1;i <= N;i++) { cout << i << ' '; for(int k = 0;k < map[i].size();k++) { cout << map[i][k] << ' '; } cout << endl; }*/ dfs(1); for(int i = 1;i <= N;i++) { cout << color[i] << ' '; } }


测评信息: