2491.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 56 行

TXT
56
字号

Memory:104K  Time:62MS
Language:C++  Result:Accepted

Source 

#include <stdio.h>
#include <string.h>

int next[400];
bool ishead[400];

char w1[400][100],w2[400][100];

int main()
{
	int cas, i, n, j, k = 0;
	

	scanf( "%d", &cas );
	
	while( cas-- )
	{
		scanf( "%d", &n );
		n--;		

		for( i=0; i<n; i++ )
		scanf( "%s%s",w1[i],w2[i] );

		for( i=0; i<n; i++ )
		next[i] = -1, ishead[i] = true;

		for( i=0; i<n; i++ )
		for( j=0; j<n; j++ )
		if( i != j && strcmp( w2[i], w1[j] ) == 0 )
		{
			next[i] = j, ishead[j] = false;
			break;
		}

		for( i=0; i<n; i++ )
		if(ishead[i])break;

		printf( "Scenario #%d:\n", ++k );

		printf( "%s\n", w1[i] );
		for( ; i >= 0; i = next[i] )
		printf( "%s\n", w2[i] );

		printf( "\n" );
	} 

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?