#include <stdlib.h> #include <stdio.h> #include <algorithm> #include <iostream> #include <string.h> #include <math.h> using namespace std; struct node//每个学生的信息 { char name[20]; char id[10]; char sex; }stu[1000]; int main() { int n,i; cin>>n; for(i=0;i<n;i++) cin>>stu[i].name>>stu[i].id>>stu[i].sex; int m; cin>>m; char str1[20],str2[20];//姓名或者学号 while(m--) { cin>>str1>>str2; char ans1,ans2;//输入的姓名或者学号所对应的性别 if(str1[0]>='0'&&str1[0]<='9')//是学号 for(i=0;i<n;i++) { if(strcmp(str1,stu[i].id)==0) { ans1=stu[i].sex;//找到该学号对应的人的性别 break; } } else //是姓名 for(i=0;i<n;i++) { if(strcmp(str1,stu[i].name)==0) { ans1=stu[i].sex;//找到该姓名对应的人的性别 break; } } if(str2[0]>='0'&&str2[0]<='9')//是学号 for(i=0;i<n;i++) { if(strcmp(str2,stu[i].id)==0) { ans2=stu[i].sex;//找到该学号对应的人的性别 break; } } else //是姓名 for(i=0;i<n;i++) { if(strcmp(str2,stu[i].name)==0) { ans2=stu[i].sex;//找到该姓名对应的人的性别 break; } } if(ans1==ans2)//性别相同,不能共舞 cout<<"N"<<endl; else cout<<"Y"<<endl; } return 0; } /************************************************************** Problem: 1953 User: admin Language: C++ Result: Accepted Time:80 ms Memory:2108 kb ****************************************************************/