题目来源: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个
给出代码:
 #include <bits/stdc++.h>

 using namespace std;
int a[];
int b[];
int m,n,total,tn,i,j,num,counter;
int main()
{
while(~scanf("%d%d",&m,&n))
{
total=n*m;
tn=n;
counter=num=;
for(i=;i<=n;i++)
scanf("%d",&a[i]);
for(i=;i<=total;i++)
b[i]=i;
sort(a+,a+n+);
// for(i=1;i<=n;i++)
// printf("%d ",a[i]);
// printf("\n");
for(i=total;i>=&&tn>;i--)
{
if(a[tn]!=b[i])
counter++;
else
{
if(==counter)
num++;
else
counter--;
tn--;
}
}
printf("%d\n",num);
}
return ;
}


jhljx跑跑跑(找规律)的更多相关文章

  1. Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?

    Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?   前不久,发布了Python在Windows(程序员:Python学不学?完全没必要纠结)和Mac OS(我是Python,P派第 ...

  2. HDU 4572 Bottles Arrangement(找规律,仔细读题)

    题目 //找规律,123321123321123321…发现这样排列恰好可以错开 // 其中注意题中数据范围: M是行,N是列,3 <= N < 2×M //则猜测:m,m,m-1,m-1 ...

  3. Codeforces Gym 100114 A. Hanoi tower 找规律

    A. Hanoi tower Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Descript ...

  4. SGU 169 Numbers (找规律)

    题意:中文题,直接忽略... 析:先说说我的思路,我一看这个题第一感觉就是要找规律,要是挨着算,猴年马月都跑不完,更何况时间限制是0.25s,怎么找规律呢,我算了一下前10位,分别是8,1,1,3,1 ...

  5. Tetrahedron(Codeforces Round #113 (Div. 2) + 打表找规律 + dp计数)

    题目链接: https://codeforces.com/contest/166/problem/E 题目: 题意: 给你一个三菱锥,初始时你在D点,然后你每次可以往相邻的顶点移动,问你第n步回到D点 ...

  6. bzoj1002 [FJOI2007]轮状病毒——找规律+高精度

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1002 打表找规律,似乎是这样:https://blog.csdn.net/fzhvampir ...

  7. 牛客国庆集训day6 B Board (模拟标记思维或找规律或分块???)

    链接:https://www.nowcoder.com/acm/contest/206/B来源:牛客网 题目描述 恬恬有一个nx n的数组.她在用这个数组玩游戏: 开始时,数组中每一个元素都是0. 恬 ...

  8. UVALive-8077 Brick Walls 找规律

    题目链接:https://cn.vjudge.net/problem/UVALive-8077 题意 有一个用砖头磊起来的墙,现在又有一只蚂蚁,想沿着砖缝从起点跑到终点. 问最短路长度. 思路 找规律 ...

  9. hdu 3951 - Coin Game(找规律)

    这道题是有规律的博弈题目,,, 所以我们只需要找出规律来就ok了 牛人用sg函数暴力找规律,菜鸟手工模拟以求规律...[牢骚] if(m>=2) { if(n<=m) {first第一口就 ...

  10. HDU 5703 Desert 水题 找规律

    已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...

随机推荐

  1. Eclipse中使用Junit编写测试用例

    Eclipse自带Junit插件,不用安装就能在项目中编写测试用例,非常方便. 在项目中添加Junit库 在编写测试用例之前,需要先引入Junit.对项目根目录右键,选择Properties,Java ...

  2. Click Models for Web Search(1) - Basic Click Models

    这篇文章主要是介绍一些基本的click model,这些不同的click model对用户与搜索结果页的交互行为进行不同的假设. 为了定义一个model,我们需要描述出observed variabl ...

  3. [mysql]增加用户 授权 远程登录

    mysql创建用户和授权 1.创建用户: (注意:下面的指令,请在root用户下输入) CREATE USER "用户名" IDENTIFIED BY "密码" ...

  4. python——第一天

    两种循环: for x in …… while range(n) 生成整数序列,并且是从0开始一直到n-1的整数 raw_input() 读取的内容永远以字符串的形式,必须先用 int() 把字符串转 ...

  5. linux常见进程与内核线程

    发现大量jdb2进程占用io资源.jdb2进程是一个文件系统的写journal的进程 kthreadd:这种内核线程只有一个,它的作用是管理调度其它的内核线程.它在内核初始化的时候被创建,会循环运行一 ...

  6. 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)

    实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...

  7. C#设计模式——访问者模式(Visitor Pattern)

    一.概述由于需求的改变,某些类常常需要增加新的功能,但由于种种原因这些类层次必须保持稳定,不允许开发人员随意修改.对此,访问者模式可以在不更改类层次结构的前提下透明的为各个类动态添加新的功能.二.访问 ...

  8. IDEA默认常用快捷键

    作为Java的利器,IDEA属实是非常好用,参考网文总结其常用快捷键如下: Ctrl + /(Ctrl + Shift + /):注释或反注释指定的语句.这个是本人最喜欢的,所以排在第一位. Ctrl ...

  9. 从零开始学习Linux (cd命令)

    上一篇博客中提到,我们学习命令大多都要参考 --help 这个选项.但是cd命令并没有这个选项. 我们可以通过 help cd 来查看cd的使用方式.其实cd命令挺简单的,它的作用是进入文件夹,也就是 ...

  10. www.97top10.com--做最好的技术交流网站

    www.97top10.com--做最好的技术交流网站