UVa1595,对称轴(STL)

    xiaoxiao2022-07-12  147

    用multimap存储数据。 代码如下:

    #include<iostream> #include<cstdio> #include<map> #include<cmath> using namespace std; const int maxn=1e6+5; multimap<int,int> mp; int mid=0; void print() { multimap<int,int>::iterator low,up,i,j; for(i=mp.begin();i!=mp.end();++i) { int a,b; a=(*i).first; b=mid-a; low=mp.lower_bound(b); up=mp.upper_bound(b); if(low==up) { printf("NO\n"); return; } else { int a0=(*i).second,b0,f=0; for(j=low;j!=up;++j) { b0=(*j).second; if(a0==b0) { f=1; break; } } if(!f) { printf("NO\n"); return; } } } printf("YES\n"); } int main() { int N,T; scanf("%d",&T); while(T--) { scanf("%d",&N); int mi=10001,ma=-10001,a,b; for(int i=1;i<=N;i++) { scanf("%d%d",&a,&b); pair<int,int> p(a,b); if(a<mi) mi=a; if(a>ma) ma=a; mp.insert(p); }//cout<<mp.size()<<' '<<mi<<' '<<ma<<endl; mid=ma+mi; print(); mp.clear(); } return 0; }
    最新回复(0)