您的位置:首页 > 运维架构

CF# 260 A. Laptops

2016-02-17 21:32 344 查看
One day Dima and Alex had an argument about the price and quality of laptops. Dima thinks that the more expensive a laptop is, the better it is. Alex disagrees. Alex thinks that there are two laptops, such that the price of the first laptop is less (strictly
smaller) than the price of the second laptop but the quality of the first laptop is higher (strictly greater) than the quality of the second laptop.

Please, check the guess of Alex. You are given descriptions of n laptops. Determine whether two described above laptops exist.

Input

The first line contains an integer n (1 ≤ n ≤ 105)
— the number of laptops.

Next n lines contain two integers each, ai and bi (1 ≤ ai, bi ≤ n),
where ai is
the price of the i-th laptop, and bi is
the number that represents the quality of the i-th laptop (the larger the number is, the higher is the quality).

All ai are distinct.
All bi are distinct.

Output

If Alex is correct, print "Happy Alex", otherwise print "Poor Alex"
(without the quotes).

Sample test(s)

input
2
1 2
2 1


output
Happy Alex



cf第一题必定非常水这题,仅仅要读入数据后按价格排序然后找到一对逆序的输出就好了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<limits.h>
using namespace std;
const int maxn=1e5+10;
struct node{
int x,y;
}e[maxn];
int cmp(node l1,node l2)
{
return l1.x<l2.x;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
scanf("%d%d",&e[i].x,&e[i].y);
sort(e,e+n,cmp);
int flag=0;
for(int i=1;i<n;i++)
{
if(e[i].x>e[i-1].x&&e[i].y<e[i-1].y)
{
flag=1;
break;
}
}
if(flag)
cout<<"Happy Alex"<<endl;
else
cout<<"Poor Alex"<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: