Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
有太多的优秀的追求者导致女神一直很苦恼,因为她没法决定选择哪个作为自己的王子。
不过,现在某人给她出了个主意:想追求她,当然得知道她心中所想。所以女神决定对
这些追求者做一个测试:她先写下心中所想,让追求者猜测,根据他们猜测的结果对
这些追求者进行分类:
Prince:王子当然是能想女神所想,只有当某追求者所猜测的内容和女神所写的内容完全一样时,才认为他是Prince;
Backup:当某追求者所猜测的内容中数字和所写内容中数字完全一致且至少有一个其他字符不同,就认为他是Backup;
Nobody:除Prince和Backup外的追求者既Nobody;
不过,现在某人给她出了个主意:想追求她,当然得知道她心中所想。所以女神决定对
这些追求者做一个测试:她先写下心中所想,让追求者猜测,根据他们猜测的结果对
这些追求者进行分类:
Prince:王子当然是能想女神所想,只有当某追求者所猜测的内容和女神所写的内容完全一样时,才认为他是Prince;
Backup:当某追求者所猜测的内容中数字和所写内容中数字完全一致且至少有一个其他字符不同,就认为他是Backup;
Nobody:除Prince和Backup外的追求者既Nobody;
Input
输入中包含很多组数据,
每一组数据的第一行是一个整数 n (n < 100),它表示女神写下的内容有多少行。接下来的 n 行是所写内容。
再往下的一行又是一个整数 m (m < 100),它表示某追求者猜测的内容有多少行。接下来的 m 行是他所猜测的内容。
当 n = 0 时输入结束。输入中的每一行都不超过 120 个字符。
每一组数据的第一行是一个整数 n (n < 100),它表示女神写下的内容有多少行。接下来的 n 行是所写内容。
再往下的一行又是一个整数 m (m < 100),它表示某追求者猜测的内容有多少行。接下来的 m 行是他所猜测的内容。
当 n = 0 时输入结束。输入中的每一行都不超过 120 个字符。
Output
针对每一组输入,输出下面某一行:
Run #x: Prince
Run #x: Backup
Run #x: Nobody
其中 x 表示是第几组输入(从 1 开始)。
Run #x: Prince
Run #x: Backup
Run #x: Nobody
其中 x 表示是第几组输入(从 1 开始)。
Sample Input
2 What i want is: 10 What i want is: 5 2 What i want is: 10 What i want is: 5 2 The answer is: 10 The answer is: 5 2 The answer is: 10 The answer is: 15 1 1 0 1 0 1 1010 1 The Kings are mean! 1 The Kings are good! 0
Sample Output
Run #1: Prince Run #2: Nobody Run #3: Backup Run #4: Backup
#include<stdio.h> #include<string.h> char a[105][110],b[105][110]; int main() { int n,m,t=0; int i,j,k; while(scanf("%d",&n),n) { t++; getchar(); for(i=0;i<n;i++) gets(a[i]); scanf("%d",&m); getchar(); for(i=0;i<m;i++) gets(b[i]); int flag=0; if(n==m) { for(i=0;i<n;i++) if(strcmp(a[i],b[i])!=0) flag=1; } if(flag==0 && n==m) printf("Run #%d: Prince\n",t); else { int t1=0,t2=0; char aa[10009],bb[10009]; for(i=0;i<n;i++) { int al=strlen(a[i]); for(j=0;j<al;j++) if(a[i][j]<='9' && a[i][j]>='0') { aa[t1++]=a[i][j]; } } for(i=0;i<m;i++) { int bl=strlen(b[i]); for(j=0;j<bl;j++) if(b[i][j]<='9' && b[i][j]>='0') { bb[t2++]=b[i][j]; } } aa[t1]='\0'; bb[t2]='\0'; if(t1==t2 && strcmp(aa,bb)==0) printf("Run #%d: Backup\n",t); else printf("Run #%d: Nobody\n",t); } } }