题目链接:PAT1032
代码如下:
#include<iostream>
#include<string.h>
using namespace std;
const int maxn=100001;
string dig[maxn];
int main(){
int num,flag=0;
int tempi;
char tempc;
string temps;
cin>>tempi>>tempi>>num; //这些数据没有也可以做,所以通通temp了事
for(int i=0;i<num;i++){
cin>>tempi>>tempc;
//cout<<tempi<<" "<<tempc<<" ";
cin>>dig[i];
//cout<<dig[i]<<endl;
}
//for(int i=0;i<num;i++)
//cout<<dig[i]<<" ";
for(int i=0;i<num;i++){
temps=dig[i];
//cout<<tempi;
for(int j=i+1;j<num;j++){
//cout<<"reach:"<<dig[j]<<endl;
if(temps==dig[j]){ //如果后面再次出现这个数据,这个数据就是目标
cout<<temps<<endl; //如果这两个str没有公共部分,就会各自结束:出现两个-1,同样的输出就行了
flag=1;
break;
}
//cout<<flag<<endl;
}
if(flag)
break;
}
return 0;
}
问题
用了一种简单直接的方法来做,但是有问题,求走过路过的大佬指教一下。