1226.txt

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

TXT
56
字号

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

char w[100][101];

int main()
{
	char s1[101],s2[101];
	int n, i, j, cas, l[100], k, ans, h;

	scanf( "%d", &cas );
	
	while( cas-- )
	{
		scanf( "%d", &n );
		k = -1;
		for( i=0; i<n; i++ )
		{
			scanf( "%s", w[i] );
			l[i] = strlen( w[i] );
			if( k < 0 || l[i] < l[k] ) k = i;
		}

		ans = 0;
		for( i=0; i<l[k]-ans; i++ )
		for( j=i+1+ans; j<=l[k]; j++ )
		{
			for( h=i; h<j; h++ )
			{
				s1[h-i] = w[k][h];
				s2[h-i] = w[k][ j-(h-i)-1 ];
			}
			
			s1[h-i] = s2[h-i] = '\0';
			
	
			for( h=0; h<n; h++ )
			if( h != k )
			{
				if( !strstr( w[h], s1 ) && !strstr( w[h], s2 ) )
				break;
			}
			
			if( h == n ) ans = j-i;
			else break;
		}

		printf( "%d\n", ans );
	}

	return 0;
}
	

⌨️ 快捷键说明

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