2001.txt

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

TXT
70
字号
 

#include"iostream.h"
 #include"stdio.h"
 #include"string.h"
 #include"algorithm"
 using std::sort;
 
 #define index asdfsdf
 
char ww[1001][21];
char *w[1001];
int index[1001];
int to[1001];

int cmp(int a,int b)
{
	return strcmp(w[a],w[b])>0;
} 
 
 
 int main()
 {
 	int n,i,j,key1,key2,k;
	for(n=0;;n++)
	{
		cin>>ww[n];
		w[n]=ww[n];
		index[n]=n;
		if(cin.fail())break;
	}
	
	sort(&index[0],&index[n],cmp);
	
	for(i=0;i<n;i++)
	to[index[i]]=i;
	
	for(k=0;k<n;k++)
	{
	    i=to[k];		
	    cout<<w[k]<<' ';
	    key1=1;
	    key2=1;
	    
	    for(j=0;(key1||key2)&&w[k][j];j++)
	    {
	    	cout<<w[k][j];
		
		if(key1)
		{
			if(!i||w[index[i-1]][j]!=w[k][j])key1=0;
		}
		
		if(key2)
		{
			if(i==n-1||w[index[i+1]][j]!=w[k][j])key2=0;
		}
		
	    }
	    
	    cout<<endl;
	}
	
	return 0;
}
 
 //2001


⌨️ 快捷键说明

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