请大佬帮忙看一下为什么不会输出

P1341 无序字母对

cnt=0你也没处理啊
by bdfs_then_csdn @ 2023-10-13 10:16:17


而且flag有点问题,这样你有奇度点就直接No solution结束了,把flag删了
by bdfs_then_csdn @ 2023-10-13 10:17:57


```cpp #include<bits/stdc++.h> using namespace std; int n; char a[2]; int Map[205][205]; int du[205]; int cnt; int ans[205]; bool flag; int head; int m; void dfs(int x) { //找欧拉回路/路径 for(int i = 65; i <= 125; i++){ if(Map[i][x] >= 1){ Map[i][x]--, Map[x][i]--; dfs(i); } } int k = x - 65; ans[n--] = k; } signed main() { cin >> n; for(int i = 1; i <= n; i++){ cin >> a; Map[a[0]][a[1]]++, Map[a[1]][a[0]]++; du[a[0]]++, du[a[1]]++; } for(int i = 65; i <= 125; i++){ if(du[i] % 2 == 1){ flag = 1; cnt++; } } if(flag || (cnt > 0 && cnt != 2))cout << "No Solution"; else{ if(cnt) { for(int i = 65; i <= 125; i++){ if(du[i] & 1) { head = i; break; } } } else { for(int i = 65; i <= 125; i++) if(du[i]) { head = i; break; } } m = n; dfs(head); for(int i = 0; i <= m; i++) cout << char(ans[i] + 'A'); } } ```
by Linghua_dog @ 2023-10-13 10:19:27


改成这样就行了
by Linghua_dog @ 2023-10-13 10:19:55


@[Linghua_dog](/user/541568) 谢谢
by shengmin @ 2023-10-13 10:28:05


把 flag去掉
by Linghua_dog @ 2023-10-13 10:34:42


@[Linghua_dog](/user/541568) ok了谢谢
by shengmin @ 2023-10-13 10:43:04


|