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.
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.
If Alex is correct, print "Happy Alex", otherwise print "Poor Alex" (without the quotes).
2 1 2 2 1
Happy Alex
题目大意:
有N个商品,价格为ai,质量为bi。Dima认为一分钱一分货,贵的物品肯定质量好,Alex不信,认为肯定有价格低但质量比价格高的质量号,现在要求找出这样的物品。
解法:
虽然N比较大,有10^5,但是题目给了很多限制。
首先 1<= ai, bi <= N, ai均不相同,bi也均不相同。这就意味着ai和bi是一串1~n的排列。要想满足一分钱一分货,就必须满足 ai == bi。
代码:
#include <cstdio>
int n, x, y;
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d%d", &x, &y);
if (x != y) {
printf("Happy Alex\n");
return 0;
}
}
printf("Poor Alex\n");
}