uva 10763交換學生(快速檢索,二分檢索)

來源:互聯網
上載者:User

P89

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm> using namespace std;struct AB{int a,b,sum;}bz[500005];int cmp(AB x,AB y){return x.a<y.a;}int OK(int key,int end){int left=0,right=end,mid;while(left<right){mid=(left+right)/2;if(bz[key].b<bz[mid].a) right=mid-1;else if(bz[key].b>bz[mid].a) left=mid+1;else right=mid;}if(bz[key].b!=bz[right].a) return 0;else {while(bz[key].b==bz[right].a){if(bz[key].a==bz[right].b&&bz[key].sum==1&&bz[right].sum==1){bz[key].sum=2; bz[right].sum=2;return 1;}else right++;}return 0;}} int main(int argc, char *argv[]){int n,i,j,a,b,t;while(scanf("%d",&n)==1&&n){   for(i=0;i<n;i++){scanf("%d%d",&bz[i].a,&bz[i].b);bz[i].sum=1;}sort(bz,bz+n,cmp);t=0;for(i=1;i<n;i++)if(OK(i,n-1)) t++; if(t*2==n) cout<<"YES"<<endl;else cout<<"NO"<<endl;}return 0;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.