题目链接:http://codeforces.com/problemset/problem/456/A
题意:给一些电脑的价格质量,问你是否存在两台电脑,价格高的,质量低
解析:直接按照价值升序排列,如果价值相等按质量升序排列,然后扫一遍,按照题意来做就好
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+1100;
struct node
{
int v,w;
}a[maxn];
bool cmp(node a,node b)
{
if(a.v==b.v)
return a.w<b.w;
return a.v<b.v;
}
bool cmp1(node a,node b)
{
return a.w<b.w;
}
int main(void)
{
int n;
cin>>n;
for(int i=0;i<n;i++)
scanf("%d %d",&a[i].v,&a[i].w);
sort(a,a+n,cmp);
int flag = 0;
for(int i=1;i<n;i++)
{
if(a[i].w<=a[i-1].w)
{
flag = 1;
break;
}
}
if(!flag)
puts("Poor Alex");
else
puts("Happy Alex");
return 0;
}