uva 10152

题意:找出从旧序列,到新序列需要爬的乌龟的顺序,看到别人画的图,就很清楚了

uva 10152_第1张图片

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stack>
using namespace std;

int main()
{
	int n,a[300],c,i,j;
	char last[300][300],now[300][300];
	cin>>c;
	for(int e = 0 ; e < c ; e++ )
	{
		cin>>n;
		getchar();
		for( i = 0 ; i < n ; i++ )
			gets(last[i]);
		for( i = 0 ; i < n ; i++ )
			gets(now[i]);
		memset(a,0,sizeof(a));
		for( i = n-1,j = n-1 ; j >= 0; )
		{
			if(strcmp(last[j],now[i] ) == 0 )
			{
				a[i] = 1;
				 i--;
			}
			else j--;
		}
		for(i = n-1 ; i >= 0 ; i--)
			if(a[i] == 0 )
				puts(now[i]);
		cout<<endl;
	}
	return 0;
}


你可能感兴趣的:(uva 10152)