poj 1828 Monkeys' Pride 模拟

简介:

   排个序,模拟下就好了,水题一个


/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#define INF 1E9
using namespace std;
struct node
{
    int x,y;
};
node o[50001];
bool cmp(node a,node b)
{
    if(a.y!=b.y)
      return a.y>b.y;
    return a.x>b.x;
}
int main()
{
    int n,i;
    while(~scanf("%d",&n)&&n)
    {
        for(i=0;i<n;i++)
          scanf("%d%d",&o[i].x,&o[i].y);
        sort(o,o+n,cmp);
        int ans=1;
        int x=o[0].x;
        for(i=0;i<n;i++)
        {
            if(o[i].x>x)
            {
                x=o[i].x;
                ans++;
            }
        }
        printf("%d\n",ans);
    }
}


目录
相关文章
|
7月前
|
算法 测试技术 C#
【动态规划】1223. 掷骰子模拟
【动态规划】1223. 掷骰子模拟
|
7月前
【每日一题Day114】LC1223 掷骰子模拟 | 记忆化搜索+dp
【每日一题Day114】LC1223 掷骰子模拟 | 记忆化搜索+dp
58 0
力扣 模拟小专题
力扣 模拟小专题
62 0
poj 1068 模拟
大概题意就是告诉你有个n个小括号,每一个“)”左边有多少个“(”都告诉你了,然后让你求出每一对括号之间有多少对括号(包含自己本身)。 思路: 我先计算每个“)”左边有多少个“(”要匹配,然后每遇到一个“)”,然后向前寻找第一个可以匹配的“(”,找到后将其数量减一,这样的话在寻找的过程中经过了几个“)”就表示这对括号里面有多少括号。
30 0
|
C语言
动态规划与模拟
我的通过代码: 总体思路是找到第一个打印的数与n的关系(first=n*(n+1)/2)。第一行最多有n个数,之后n--,找一个数保存最大列,然后答案印完一行,列数就减一。
140 0
动态规划与模拟
洛谷P1067-多项式输出(模拟好题!)
洛谷P1067-多项式输出(模拟好题!)
【漫步刷题路】- 模拟实现abs()
若n为正数:tmp = 0 n ^tmp 还是n ( 因为0^a = a ) n^tmp - tmp = n - 0 = n** 若n为负数: tmp = -1 结论:-n ^ -1 = n-1 无论n为任意实数(包括0,正负数都满足) 所以 n^tmp - tmp = n
107 0
【漫步刷题路】- 模拟实现abs()