⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pku2001.cpp

📁 这是ACM 方面的资料 是PKU的 北京大学的出来的
💻 CPP
字号:
#include <stdio.h>
#include <string.h>

char word[1000][30];
int l0[1000], l[1000];
int n;

int comp(int a, int b)
{
	int i;
	
	i = 0;
	while (i < l0[a] && i < l0[b] && word[a][i] == word[b][i])
	{
		i++;
	}		
	
	if (i < l0[a] && i < l0[b])
	{
		return i + 1;	
	}

	if (i == l0[a])
	{
		return l0[a];	
	}
	
	if (i == l0[b])
	{
		return l0[b] + 1;	
	}	
}

void check()
{
	int i, j, k, max, tmp;
	for (i = 0; i < n; i++)
	{
		max = 0;
		for (j = 0; j < n; j++)
		{
			if (i == j)
			{
				continue;	
			}
			tmp = comp(i, j);
			if (tmp > max)
			{
				max = tmp;	
			}
		}
		l[i] = max;	
	}		
}

int main()
{
	int i, j;
	i = 0;
	while (scanf ("%s", word[i]) != -1)
	{
		l0[i] = strlen(word[i]);
		i++;	
	}
	n = i;
	check();
	
	for(i = 0; i < n; i++)
	{
		printf("%s ", word[i]);
		for (j = 0; j < l[i]; j++)
		{
			printf("%c", word[i][j]);	
		}
		printf("\n");
	}
}

⌨️ 快捷键说明

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