CodeForces - 456A(水)
2017-06-30 23:03
253 查看
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).
Example
Input
Output
题意:
就是问你没有这样两组数,他第一个数的第一个值比第二个数的第一个值要小,而第一个数的第二个值比第二个数的第二个值要大,我写的是 sort一发,for循环一发直接找,,,我看了一下网上的思路,发现自己少看了一个条件,那就是所有的ai和bi都是小于n 而且所有的ai 和bi是不能相同的,那就简单了啊,,只要有一个a和b是不相同的那么就一定会有满足的情况,直接输出就好了
上代码吧:
#include<stdio.h>
#include<algorithm>
using namespace std;
struct node
{
int x,y;
}a[100002];
bool cmp(node a,node b)
{
return a.x<b.x;
}
int main()
{
int n;
int flag=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
}
sort(a,a+n,cmp);
for(int i=1;i<n;i++)
{
if(a[i-1].y>a[i].y)
{
flag=1;
break;
}
}
if(flag)
{
printf("Happy Alex\n");
}
else
{
printf("Poor Alex\n");
}
}
第二种方法(转)
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).
Example
Input
2 1 2 2 1
Output
Happy Alex
题意:
就是问你没有这样两组数,他第一个数的第一个值比第二个数的第一个值要小,而第一个数的第二个值比第二个数的第二个值要大,我写的是 sort一发,for循环一发直接找,,,我看了一下网上的思路,发现自己少看了一个条件,那就是所有的ai和bi都是小于n 而且所有的ai 和bi是不能相同的,那就简单了啊,,只要有一个a和b是不相同的那么就一定会有满足的情况,直接输出就好了
上代码吧:
#include<stdio.h>
#include<algorithm>
using namespace std;
struct node
{
int x,y;
}a[100002];
bool cmp(node a,node b)
{
return a.x<b.x;
}
int main()
{
int n;
int flag=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
}
sort(a,a+n,cmp);
for(int i=1;i<n;i++)
{
if(a[i-1].y>a[i].y)
{
flag=1;
break;
}
}
if(flag)
{
printf("Happy Alex\n");
}
else
{
printf("Poor Alex\n");
}
}
第二种方法(转)
#include <cstdio> #include <iostream> #include <algorithm> using namespace std; int main() { bool ok=0; int m,a,b; cin>>m; for(int i=0; i<m; i++) { cin>>a>>b; if(a!=b) { ok=1; break; } } if(ok) puts("Happy Alex"); else puts("Poor Alex"); return 0; }
相关文章推荐
- ACM篇:Codeforces 456A-- Laptops
- CodeForces - 456A(水)
- codeforces 456A
- Laptops CodeForces - 456A
- CodeForces 456A
- codeforces 171 div2 C&E
- codeforces 520 Pangram
- Codeforces 235E Number Challenge (莫比乌斯反演)
- codeforces 165C Another Problem on Strings 双指针
- Codeforces183D T-shirt
- CodeForces 266 A.Stones on the Table(水~)
- CodeForces 923C Perfect Security
- codeforces 178B
- 【CODEFORCES】 D. MUH and Cube Walls
- codeforces_616D. Longest k-Good Segment(尺取法)
- codeforces 675D Tree Construction (map)
- codeforces 407C Curious Array 数学
- CodeForces - 848A From Y to Y (找规律)
- Codeforces 547E. Mike and Friends 后缀自动机+离线+线段树
- Codeforces 144D. Missile Silos 最短路