Problem A: RY哥查字典
Time Limit: 1000 ms Memory Limit: 128 MB
Description
RY哥最近新买了一本字典,他十分高兴,因为这上面的单词都十分的和谐,他天天查字典。
Input
1个整数N,表示字典里面的单词数量。
接下来N行,每行一个字符串,表示一个单词。
然后第N+2行,一个整数M,表示要查的单词数。
接下来M行,每行一个字符串,表示一个要查的单词。
Output
对于每一个要查的单词,如果在字典里面,就输出'Yes',否则输出'No',一行一个。
Sample Input
2
i
you
1
love
Sample Output
No
代码:
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
bool b[50000]={0};
int aa(string a)
{
int len=a.size();
int s=0;
for(int i=0;i<len;i++)
s+=a[i]*10*i;
s=floor(sqrt(s));
return s;
}
int main()
{
int n;
cin>>n;
string a;
for(int i=1;i<=n;i++)
{
cin>>a;
b[aa(a)]=1;
}
int bb;
cin>>bb;
int c=0;
while(bb)
{
cin>>a;
if(!b[aa(a)])
c++;
bb--;
}
if(c)
cout<<"No";
else
cout<<"Yes";
return 0;
}//样例对了,提交,只对了一个测试点,看了一下另外两个测试数据,单词长度都特别长,而书上(《高级数据结构》)的已经规定了10以内。
然后看了一下,班里面挺多同学都做对了,问了一下hr,她说大部分跟书本上的样例代码一样,修改了一下输出,跟着打了一下,暂时没打完。