代码:
#include<iostream>
using namespace std;
int n,in[150],fir,cnt,go=125;
bool f[150][150];
char ans[150];
void find(int t)
{
for(int i=1;i<=125;i++)
if(f[t][i])
{
f[t][i]=f[i][t]=0;
find(i);
}
ans[n--]=t;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
char a,b;
cin>>a>>b;
f[a][b]=f[b][a]=1;
in[a]++;
in[b]++;
if(a<go)
go=a;
if(b<go)
go=b;
}
for(int i=125;i>1;i--)
if(in[i]%2)
{
cnt++;
fir=i;
}
switch(cnt)
{
case 2:find(fir);break;
case 0:find(go);break;
default:cout<<"No Solution";return 0;
}
cout<<ans;
return 0;
}
求大佬指教:哪里有问题?