关闭

POJ 1828 Monkeys' Pride(水~)

281人阅读 评论(0) 收藏 举报
分类:

Description
给出一堆点。有一类点,当以分别以他们中的一个作为原点时,第一象限没有点,不包括坐标轴上的点,求这类点的总数
Input
多组用例,每组用例第一行为点数n,之后n行为点的坐标,以n=0结束输入
Output
对于每组用例,输出满足题意描述点的个数
Sample Input
3
2 1
1 2
3 3
3
0 1
1 0
0 0
4
0 0
1 0
0 1
1 1
0
Sample Output
1
2
1
Solution
按x从小到大,x相等按y从小到大排序后,从右到左,一旦遇到一个比之前见过的y都大的y,就把ans++
Code

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF (1<<29)
#define maxn 100000
struct node
{
    int x,y;
}num[maxn];
int n;
int cmp(node a,node b)
{
    if(a.x==b.x)
        return a.y<b.y;
    return a.x<b.x;
}
int main()
{
    while(scanf("%d",&n),n)
    {
        for(int i=0;i<n;i++)
            scanf("%d%d",&num[i].x,&num[i].y);
        sort(num,num+n,cmp);//对坐标点排序 
        int ans=1;
        int xx=num[n-1].x;//从右向左 
        int yy=num[n-1].y;
        for(int i=n-2;i>=0;i--)
        {
            if(num[i].x==xx)//遇到横坐标相同的点则跳过 
                continue;
            else if(num[i].y>yy)//遇到比之前y值大的y值则更新,点数加一 
            {
                xx=num[i].x;
                yy=num[i].y;
                ans++;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}
0
0
查看评论

poj 1828:Monkeys' Pride

解题思路: 快速排序,x升序,y升序
  • u010663294
  • u010663294
  • 2014-06-28 10:37
  • 218

poj 1828 Monkeys' Pride

题目大意: 题目给出n个点,求出有多少点满足没有横纵坐标同时大于等于这个点的个数。也就是在这所有的点中,这样的点有多少个?什么样的点呢?设这个点(x0,y0),那么如果不存在(x,y)使得x>=x0并且y>=y0,那么这就算一个点,求出所有这样的点。   题解:对于任意一...
  • ljd4305
  • ljd4305
  • 2013-10-04 12:35
  • 554

POJ 1828 Monkeys' Pride

Monkeys' Pride Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8640   Accepted: 2854 ...
  • ACM2272902662
  • ACM2272902662
  • 2014-06-06 21:40
  • 1266

poj 1828 Monkeys' Pride 模拟

排个序,模拟下就好了,水题一个 /* author:jxy lang:C/C++ university:China,Xidian University **If you need to reprint,please indicate the source** */ #include #i...
  • czjxy881
  • czjxy881
  • 2013-05-07 09:38
  • 419

POJ 1828 Monkeys' Pride 笔记

N只猴子,给出每只猴子坐标(x,y)。当没有其他猴子的坐标同时大于等于某猴子的x坐标和y坐标时,这只猴子为猴王。求猴王数。
  • woniupengpeng
  • woniupengpeng
  • 2017-06-22 22:30
  • 59

POJ 1828 MONKEYS’ PRIDE(DP)+POJ 2726

原文:http://blog.acmj1991.com/?p=599 题意:山上有猴子,每只猴子都有一个坐标当其它猴子的x和y不能同时>=它的坐标时,那么它就是大王。问山中有都少大王? 思路:开始做超时了..其实就是对x进行排序后y在递增序列中的数目就是答案 x↑ y↓
  • acmj1991
  • acmj1991
  • 2011-08-20 19:09
  • 327

POJ 1828 Monkeys' Prid

当初有人给我说这是线段树问题。 突然发现智商捉鸡了。这不就是一个排序就可以解决的么。 AC代码 #include #include #include #include using namespace std; int n; struct lx { int a,b; }l[50001];...
  • dongshimou
  • dongshimou
  • 2014-03-12 18:31
  • 461

POJ 1828 Monkeys' Pride (易 TLE 题目) -- from lanshui_Yang

Description Background  There are a lot of monkeys in a mountain. Every one wants to be the monkey king. They keep arguing with each other ab...
  • lanshui_Yang
  • lanshui_Yang
  • 2012-08-13 19:47
  • 894

poj 1828 Monkey's Pride

#include #include #include #include using namespace std; int n; struct a{ int x,y; }; bool operator < (const a & c,const a& b){ if(c.x =...
  • u010936800
  • u010936800
  • 2013-06-25 21:50
  • 507

poj1828 Monkeys' Pride

#include #include #include #include #include using namespace std; struct node{ int x; int y; }a[50005]; int cmp(node a,node b){ if(a.x==b.x) return...
  • turbo_7
  • turbo_7
  • 2013-05-07 23:13
  • 277
    个人资料
    • 访问:556068次
    • 积分:24576
    • 等级:
    • 排名:第315名
    • 原创:1943篇
    • 转载:0篇
    • 译文:0篇
    • 评论:69条
    最新评论