提交时间:2023-08-25 10:10:43
运行 ID: 100253
#include <iostream> using namespace std; int map[100][2]; //map[x][0]和map[x][1]分别表示x号区域不能和map[x][0]和map[x][1]的颜色相同 int color[100]; int N; void dfs(int node) //表示区域 { if(node == N+1) return; bool lst[5] = {1,1,1,1,1}; lst[map[node][0]] = 0; lst[map[node][1]] = 0; for(int i = 1;i <= 4;i++) { if(lst[i] == 1) { color[node] = i; break; } } dfs(node+1); } int main() { cin >> N; for(int i = 1;i <= N;i++) { int node; //区域 cin >> node; cin >> map[node][0] >> map[node][1]; } dfs(1); for(int i = 1;i <= N;i++) { cout << color[i] << ' '; } }