@[Aya_tt](/user/744562) 是不是读入的问题?可能读入了空格之类的,把 $a$ 和 $b$ 输出一下看看。
by NightTide @ 2022-08-08 20:56:00
噢噢噢噢
by Aya_tt @ 2022-08-08 20:57:02
@[降魔大圣](/user/547908)
```c
#include<bits/stdc++.h>
using namespace std;
stack<int> q;
int n,G[300][300],del[300],cnt,fir;
void dfs(int x){
for(int i = 0;i < 300;i++){
if(G[x][i]){
G[x][i] = G[i][x] = 0;
dfs(i);
}
}
q.push(x);
}
int main() {
cin>>n;
for(int i = 0;i < n;i++){
string a;
cin>>a;
G[a[0]][a[1]] = G[a[1]][a[0]] = 1;
del[a[0]]++,del[a[1]]++;
}
for(int i = 0;i < 300;i++){
if(del[i] & 1){
++cnt;
if(!fir){
fir = i;
}
}
}
if(!fir)
for(int i = 0;i < 300;i++)
if(!del[i]) {
fir = i;
break;
}
if(cnt && cnt != 2){
cout<<"No Solution";
return 0;
}
dfs(fir);
while(!q.empty()){
char u = q.top();
q.pop();
cout<<u;
}
}
```
还是不对
by Aya_tt @ 2022-08-08 21:00:20
@[Aya_tt](/user/744562) 我刚刚看了一下,你的 `fir` 是 $0$。
by NightTide @ 2022-08-08 21:10:00
样例每个字母都出现了两次,这样的话
```cpp
for(int i = 0;i < 300;i++){
if(del[i] & 1){
++cnt;
if(!fir){
fir = i;
}
}
}
```
这个循环 `dir` 就没有被更新
下面一个循环
```cpp
if(!fir)
for(int i = 0;i < 300;i++)
if(!del[i]) {
fir = i;
break;
}
```
每个字母都出现过,所以 `dir` 还是没有被更新。
这样的话在 dfs 时您的 `dir` 就是 $0$,所以 dfs 没有结果。
by TheSky233 @ 2022-08-08 21:11:12
*是 fir,打错了
by TheSky233 @ 2022-08-08 21:11:33
@[Aya_tt](/user/744562) 你 $34$ 行不应该是 `if(del[i])` 吗?如果是 `if(!del[i])` 的话 `fir` 会是 $0$ 啊!
代码给你改好了,你看看。
```
#include<bits/stdc++.h>
using namespace std;
stack<int> q;
int n,G[300][300],del[300],cnt,fir,ed;
void dfs(int x){
for(int i = 0;i < 300;i++){
if(G[x][i]){
G[x][i] = G[i][x] = 0;
dfs(i);
}
}
q.push(x);
}
int main() {
cin>>n;
for(int i = 0;i < n;i++){
string a;
cin>>a;
G[a[0]][a[1]] = G[a[1]][a[0]] = 1;
del[a[0]]++,del[a[1]]++;
}
for(int i = 0;i < 300;i++){
if(del[i] & 1){
++cnt;
if(!fir){
fir = i;
}else{
ed = i;
}
}
}
if(!fir)
for(int i = 0;i < 300;i++)
if(del[i]){
fir = i;
break;
}
if(cnt && cnt != 2){
cout<<"No Solution";
return 0;
}
dfs(fir);
while(!q.empty()){
char u = q.top();
q.pop();
cout<<u;
}
}
```
by NightTide @ 2022-08-08 21:12:21
@[降魔大圣](/user/547908) 加入fir是char是不是也行?
by Aya_tt @ 2022-08-08 21:14:07
@[Aya_tt](/user/744562) ?什么意思?
by NightTide @ 2022-08-08 21:14:56