最后一个点吸氧1.01s
代码:
#include<map>
#include<cstdio>
#include<vector>
using namespace std;
map<int,int>people;
vector<pair<int,int> >frs;
pair<int,int>p,pm;
inline bool exist(){
for(vector<pair<int,int> >::iterator iter=frs.begin();iter!=frs.end();iter++)
if((iter->first==p.first and iter->second==p.second) or (iter->second==p.first and iter->first==p.second))return true;
return false;
}
inline pair<int,int> max_(pair<int,int>p1,pair<int,int>p2){
return p1.second>p2.second?p1:p2;
}
inline pair<int,int> min_(pair<int,int>p1,pair<int,int>p2){
return p1.second<p2.second?p1:p2;
}
signed main(){
scanf("%d%d",&p.first,&p.second);
while(scanf("%d%d",&p.first,&p.second)!=EOF)
if(not exist()){
frs.push_back(p);
people[p.first]++;
people[p.second]++;
}
p.first=p.second=pm.first=pm.second=0;
for(map<int,int>::iterator iter=people.begin();iter!=people.end();iter++)pm=min_(pm,*iter),p=max_(p,*iter);
if(pm.second==p.second)printf("%d",people.end()->first);
else printf("%d",p.first);
return 0;
}