请问为什么会RE。。。
查看原帖
请问为什么会RE。。。
185451
moimo233楼主2021/5/8 19:39
#include <bits/stdc++.h>

using namespace std;

struct Node
{
	int f=27, a=27, b=27;
};

Node *li[27];

void output(int now)
{
	printf("%c", 'a'+now);
	if(li[now]->a!=27)
		output(li[now]->a);
	if(li[now]->b!=27)
		output(li[now]->b);
	return;
}

int main()
{
	// initialize
	for(int i=0; i<26; i++)
	{
		Node *qwq = new Node;
		li[i] = qwq;
	}
	// scan
	int n; scanf("%d", &n);
	for(int i=0; i<n; i++)
	{
		char s, a, b; scanf("%c%c%c", &s, &a, &b);
		int index = (int)(s-'a');
		if(a!='*')
		{
			li[index]->a = (int)(a-'a');
			li[a-'a']->f = index;
		}

		if(b!='*')
		{
			li[index]->b = (int)(b-'a');
			li[b-'a']->f = index;
		}
	}
	// find the grandfather
	int gf; 				
	for(int i=0; i<26; i++)
	{
		if(li[i]->f==27 and li[i]->a+li[i]->b!=54)
		{
			gf = i;
			break;
		}
	}
	// output
	output(gf);
    
	return 0;
}
2021/5/8 19:39
加载中...