码迷,mamicode.com
首页 > 其他好文 > 详细

周题:UVa10736题。Foreign Exchange

时间:2015-07-19 17:46:23      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:

题目大意:

有n(1<=n<=500000)个学生想交换到其他学校学习。为了简单起见,规定每个想从A学校换到B学校的学生必须找一个想到B换到A的搭档。如果每个人都能搭档(一个人不能同时当多个人的搭档),学校就会同意他们交换。每个学生用两个整数A,B表示,你的任务是判断交换是否可行。

sample input:

10

1 2

2 1

3 4

4 3

100 200

57 2

2 57

1 2

2 1

10

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

0

 

sample output:

YES

NO

 

程序如下:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 int a[500000],b[500000];
 7 int main()
 8 {
 9     int n,i;
10     while(scanf("%d",&n)!=EOF && n)
11     {
12         for( i=0;i<n;i++)
13             scanf("%d%d",&a[i],&b[i]);
14         
15         sort(a,a+n);
16         sort(b,b+n);
17         for(i=0;i<n;i++)
18         {
19             if(a[i]!=b[i])
20             {    
21                 printf("NO\n");
22                 break;
23             }
24         }
25         if(i==n)
26             printf("YES\n");
27     }
28     return 0;
29 }


此题关键是应用排序题。

 

周题:UVa10736题。Foreign Exchange

标签:

原文地址:http://www.cnblogs.com/x512149882/p/4655680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!