zoukankan      html  css  js  c++  java
  • jhljx跑跑跑(找规律)

    题目来源:https://biancheng.love/contest/41/problem/D/index

    jhljx跑跑跑

    题目描述

    数学不好的jhljx又在和别人打牌,他们一共m人每人n张牌,牌只有点数没有花色,从1点到k点一共n*m张。每轮每个人出一张牌,只要jhljx出的牌比其余m-1个人都大,jhljx这轮就能跑掉。现在jhljx手里的牌是什么全都可以告诉你,那么他至少能跑掉几次呢?

    没时间解释了,jhljx快跑了,现在很急很关键!

    输入

    多组测试数据,每组测试数据两行。

    第一行为m,n两个整数,第二行为n个整数,表示jhljx手牌点数。

    n*m<=10000

    输出

    对于每组测试数据输出一行为jhljx能赢的次数。

    输入样例

    2 3
    1 3 6

    输出样例

    1

    解题思路:其实就是一共有m个人每个人手里拿着n张牌。(牌的大小从1到n*m即total),题目要求找到获胜的最少次数,也就是至少获胜多少次。现在分析怎样才能达到至少的获胜次数。
    分析:
    1、已经知道自己拿了什么牌,因为牌是已知的,所以也知道剩下的牌是什么了;
    2、将自己手中的牌进行排序,整理出合适的牌面;
    3、其他人作弊把手里的牌都合在一起了,所以一共两个人打牌,(其实是一个人在打牌),这样的话我每次都出自己手里最大的牌,对面的人只要能大得过就输掉,直到手里的牌出完。
    4、在这里需要说明一下,其他人的牌合在一起只是为了方便理解,但是在具体实现中还是要注意自己的牌是n个
    给出代码:
     1 #include <bits/stdc++.h>
     2 
     3 using namespace std;
     4 int a[10010];
     5 int b[10010];
     6 int m,n,total,tn,i,j,num,counter;
     7 int main()
     8 {
     9     while(~scanf("%d%d",&m,&n))
    10     {
    11         total=n*m;
    12         tn=n;
    13         counter=num=0;
    14         for(i=1;i<=n;i++)
    15             scanf("%d",&a[i]);
    16         for(i=1;i<=total;i++)
    17             b[i]=i;
    18         sort(a+1,a+n+1);
    19 //        for(i=1;i<=n;i++)
    20 //            printf("%d ",a[i]);
    21 //        printf("
    ");
    22         for(i=total;i>=1&&tn>0;i--)
    23         {
    24             if(a[tn]!=b[i])
    25                 counter++;
    26             else
    27             {
    28                 if(0==counter)
    29                     num++;
    30                 else
    31                     counter--;
    32                 tn--;
    33             }
    34         }
    35         printf("%d
    ",num);
    36     }
    37     return 0;
    38 }



  • 相关阅读:
    C# SocketUdpServer
    C# HttpHelper
    控制台禁止操作
    Modbus Com SerialPort
    postgresql 备份与恢复
    Firebird 表字段查询
    Postgresql 连接更新
    第 1 章 计算机组成与体系结构 1.1计算机系统组成
    系统架构设计师教程(第4版)
    阿里十年架构师用一张图告诉你什么是系统架构师
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/5074762.html
Copyright © 2011-2022 走看看