"
Description
因为大蛇丸的捣乱,木叶忍者村痛失了和蔼的三代火影,所以身为三代火影徒弟之一的纲手不得不接受木叶//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM5NzA0OA==.html
村火影的职务~,因为刚刚上任,所以纲手大人需要对木叶村主要忍者的实力有个了解,以方便以后分配任务,所以我们需要统计一下每个忍者的实力高低,作为刚刚通过公务员选拔的你,这可是个很好的表现机会~你需要做的是将所有给定忍者部分实力高低关系,然后在需要的时候能够快速的查找到.Input
给出一个整数n,然后n行每行给出两个名字,表示前一个忍者强于后一个,然后是一个整数m,表示m个查找,然后是m行,每行也是两个名字。输入到文件尾。忍者的个数在1000以内,名字不长于20,n<1000000,m<=1000。
Output
对于每个查找,输出两个忍者的强弱关系,如果前一个强于后一个,输出“win”,如果前一个弱于后一个,输出”lose”,如果不能确定或查找不到,输出”unknown”。(强弱关系不能传递。)
Sample Input
3
abc bcd
def fgh
def abc
2
bcd fgh
fgh def
Sample Output
unknown
lose
code:
View Code
#include
#include
#include[span style=""color: rgba(0, 0, 255, 1)"">string.h>
#include[span style=""color: rgba(0, 0, 255, 1)"">string
int g【1001】【1001】;
using namespace std;
int main()
{
map[span style=""color: rgba(0, 0, 255, 1)"">string,int
int m,n,i;
char a【22】,b【22】;
while(scanf(""%d"",&n)!=EOF)
{
//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM5NzAyOA==.html
v.clear();memset(g,0,sizeof(g));
m=1;
for(i=0;i
{
scanf(""%s%s"",a,b);
if(!v【a】) v【a】=m++;
if(!v【b】) v【b】=m++;
g【v【a】】【v【b】】=1;
}
scanf(""%d"",&n);
while(n--)
{
scanf(""%s%s"",a,b);
if(v【a】==0||v【b】==0||(g【v【a】】【v【b】】&&g【v【b】】【v【a】】)||(g【v【a】】【v【b】】==0&&g【v【b】】【v【a】】==0))
printf(""unknown\n"");
else if(g【v【a】】【v【b】】)
printf(""win\n"");
else if(g【v【b】】【v【a】】)
printf(""lose\n"");
}
}
return 0;
}
"