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

📄 1318.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:


#include"iostream.h"
inline int same(char *p1,char *p2)
{int n,i=0,j=0,*t1,*t2;
while(p1[i]!=0)i++;
while(p2[j]!=0)j++;
n=j;

if(i!=j)return 0;
t1=new int[256];
t2=new int[256];

for(i=0;i<256;i++){t1[i]=0;t2[i]=0;}

for(i=0;i<n;i++){t1[p1[i]]++;t2[p2[i]]++;}

for(i=0;i<256;i++)if(t1[i]!=t2[i])return 0;
return 1;
}



void main()
{char dect[200][10],answer[200][10],word[10];

int n,i,j,k,h,min;
n=0;
do{
	cin>>dect[n];
	n++;
}while(dect[n-1][0]!='X');

while(1)
{cin>>word;
if(word[0]=='X')break;
h=0;
for(i=0;i<n;i++)
{  
	if(same(dect[i],word)){j=0;while(dect[i][j]!=0)answer[h][j]=dect[i][j++];answer[h][j]=0;h++;}
}
if(h==0)cout<<"NOT A VALID WORD"<<endl;

for(i=0;i<h;i++)
{min=0;
while(answer[min][0]==255)min++;
for(j=min+1;j<h;j++){k=0;while(answer[j][k]==answer[min][k])k++;if(answer[j][k]<answer[min][k])min=j;}
cout<<answer[min]<<endl;

answer[min][0]=(char)127;
}
cout<<"******"<<endl;
}

}	


⌨️ 快捷键说明

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