通过下载数据蒟蒻发现第一个是能过的 提交全Re呜呜呜
#include <iostream>
using namespace std;
int a[100000][3];
void first(int now)
{
cout << char (a[now][0] + 'a');
if(a[now][1] != -1)
first(a[now][1]);
if(a[now][2] != -1)
first(a[now][2]);
}
int main(void)
{
int n, w;
char ch;
int firstone; //首位
cin >> n;
cin.get();
for(int i = 0; i < n; ++i)
{
ch = cin.get();
w = ch - 'a'; //w要放的地方
a[w][0] = w;
if(i == 0)
firstone = w;
for(int j = 1; j < 3; ++j)
{
ch = cin.get();
if(ch == '*')
a[w][j] = -1;
else
a[w][j] = ch - 'a';
}
cin.get(); // \n;
}
first(firstone);
return 0;
}