链接:点击打开链接
题意:给出三行字符串,输出第二行中在第一行出现并且不在第三行出现的字符串
代码:
#include <vector>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
using namespace std;
int a,b,c;
vector<string> x,y,z,ans;
int main(){
int i,j,k;
string s;
while(scanf("%d%d%d",&a,&b,&c)!=EOF){
x.clear(),y.clear(),z.clear(),ans.clear();
for(i=0;i<a;i++){
cin>>s;
x.push_back(s);
}
for(i=0;i<b;i++){
cin>>s;
y.push_back(s);
}
for(i=0;i<c;i++){
cin>>s;
z.push_back(s);
}
for(i=0;i<b;i++){ //判断在第一个中出现,没在第三个中出现的
if(find(x.begin(),x.end(),y[i])!=x.end())
if(find(z.begin(),z.end(),y[i])==z.end())
ans.push_back(y[i]);
}
if(!ans.size())
puts("No enemy spy");
else{
for(i=0;i<ans.size();i++){
if(i==ans.size()-1)
cout<<ans[i]<<"\n"; //注意输出,会pe
else
cout<<ans[i]<<" ";
}
}
}
return 0;
}
667

被折叠的 条评论
为什么被折叠?



