社区讨论
样例过了,但测试未过求调
P14102 [ZJCPC 2017] What Kind of Friends Are You?参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhj3q4f0
- 此快照首次捕获于
- 2025/11/03 20:13 4 个月前
- 此快照最后确认于
- 2025/11/03 20:13 4 个月前
CPP
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
int t,n,q;
int main(){
cin>>t;
while(t--){
cin>>n>>q;
string s[200];
int c,mm[201][201];
cin>>c;
for(int i=0;i<c;i++){
cin>>s[i];
}//记录每个人的名字
for(int i=0;i<q;i++){
int mi;
cin>>mi;
for(int j=0;j<mi;j++){
string op;
cin>>op;
for(int k=0;k<c;k++){
if(s[k]==op){
mm[k][i]++;
break;
}
}
}//记录每个人对问题回答真假,1为真,0为假
}
for(int i=0;i<n;i++){
int r[22];
for(int j=0;j<q;j++){
cin>>r[j];
}
bool fa=false;
int u=-1;
for(int j=0;j<c;j++){
for(int k=0;k<q;k++){
if(r[k]!=mm[j][k]){
fa=true;
break;
}//如果回答与已知不符,直接跳到下一个人。
}
if(!fa){
if(u==-1)u=j;//完全相同则记录此人。
else{
u=-1;
break;
}//多个人相同则重置为无法分辨。
}
fa=false;
}
if(u==-1)cout<<"Let's go to the library!!"<<endl;
else{
for(int i=0;i<s[u].size();i++){
cout<<s[u][i];
}
cout<<endl;//输出人名
}
}
for(int i=0;i<=c;i++){
for(int j=0;j<=q;j++){
mm[i][j]=0;//多测清空
}
}
}
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...