题目链接:http://codeforces.com/contest/456/problem/A
解题报告:有n种电脑,给出每台电脑的价格和质量,要你判断出有没有一种电脑的价格小于另一种电脑但质量却大于另一台电脑的情况。
把输入排个序就可以了,但是我比赛的时候排序只是按照价格排序了,锁定代码之后发现了这个错误,但已经改不了了,但是最后居然AC了,说明CF的数据也是有问题的。
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<cmath> 6 #include<deque> 7 #include<queue> 8 #include<set> 9 #include<map> 10 using namespace std; 11 #define maxn 100005 12 struct node 13 { 14 int a,b; 15 }A[maxn]; 16 17 bool cmp(node a,node b) 18 { 19 if(a.a == b.a) return a.b <= b.b; 20 return a.a < b.a; 21 } 22 int main() 23 { 24 int n; 25 while(scanf("%d",&n)!=EOF) 26 { 27 for(int i = 0;i < n;++i) 28 scanf("%d%d",&A[i].a,&A[i].b); 29 sort(A,A+n,cmp); 30 int hehe = A[0].b,ans = 0; 31 for(int i = 0;i < n - 1;++i) 32 if(A[i].b > A[i+1].b) 33 { 34 ans = 1; 35 break; 36 } 37 printf(ans? "Happy Alex ":"Poor Alex "); 38 } 39 return 0; 40 }