📄 1113 word amalgamation.cpp
字号:
/*
1113 Word Amalgamation
Time Limit : 1000 ms Memory Limit : 32768 K Output Limit : 5120 K
GUN C++
*/
#include <iostream>
#include <string>
using namespace std;
const int Max=101;
char dic[Max][Max]={0};
short code[Max][27]={0};
char in[Max];
short incode[27];
int main()
{
int t,n,i,j,dlen;
bool flag;
i=0;
while(cin>>in && in[0]!='X')
{
for(j=i-1;j>=0;j--)
{
if(strcmp(in,dic[j])<0)
strcpy(dic[j+1],dic[j]);
else
break;
}
strcpy(dic[j+1],in);
i++;
}
dlen=i;
for(i=0;i<dlen;i++)
{
j=0;
while(dic[i][j]!='\0')
{ code[i][ dic[i][j]-'a'+1 ]++;j++;}
code[i][0]=j;
}
while(cin>>in && in[0]!='X')
{
for(i=0;i<27;i++) incode[i]=0;
j=0;flag=true;
while(in[j]!='\0')
{ incode[ in[j]-'a'+1 ]++;j++;}
incode[0]=j;
for(i=0;i<dlen;i++)
if(code[i][0]==incode[0])
{
for(j=1;j<27;j++)
if(code[i][j]!=incode[j])
break;
if(j==27)
{ cout<<dic[i]<<endl;flag=false;}
}
if(flag)
cout<<"NOT A VALID WORD\n";
cout<<"******\n";
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -