1196: 最后的胜利者
题目
Description
n 个小孩围成一圈做游戏,游戏将决出若干个胜利者。假定一个数 m,从第
1 个小孩起,顺时针数数,每数到第 m 个小孩时,该小孩离开。接着又从
下一个小孩开始数数,数到第 m 个小孩时,该小孩也离开,如此不断反复
进行,最后剩下的 k 个小孩便是胜利者。对于一定的 n、m、k,究竟胜利
者是哪些呢?
Input
输入数据有一些数据组,每组数据含有整数 n、m、k(1≤ n, m, k≤
50)),分别表示小孩数,游戏中每次数数的个数和最后剩下的 k 个胜利
者。
Output
对于每组数据,按从小到大的顺序输出一列获胜小孩的位置。每组获胜序
列之间应回车。
Sample Input
10 3 3
10 4 3
5 2 2
2 1 1
Sample Output
4 5 10
1 5 6
3 5
2
代码块
//该题的原理和我之前提交的一个出圈的原理相同,里面大致计算内容,都写了注释,大家可以查看那一段代码,有问题,可以直接评论
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner cn = new Scanner(System.in);while (cn.hasNext()) {int n = cn.nextInt();int m = cn.nextInt();int k = cn.nextInt();int[] a = new int[n];for (int j = 0; j < n; j++) {a[j] = j + 1;}int i = 0, len = n, count = 1;while (len > k) {if (a[i % n] > 0) {if (count % m == 0) {a[i % n] = -1;len--;count = 1;i++;} else {i++;count++;}} else {i++;}}int t = 0;for (int j = 0; j < n; j++) {if (a[j] > 0) {t++;}}int z =0;for(int j =0;j<n;j++){if(a[j]>0&&z<t-1){z++;System.out.print(a[j]+" ");}else if(a[j]>0){System.out.println(a[j]);}}}}
}
1196: 最后的胜利者相关推荐
- [Luogu 1196] NOI2002 银河英雄传说
[Luogu 1196] NOI2002 银河英雄传说 话说十六年前的 NOI 真简单... 我一开始还把题看错了- 题意:一群人,每个人各自成一队,每次命令让两队首位相接合成一队,每次询问问你某两个 ...
- 【并查集】银河英雄传说 (luogu 1196/ssl 1225)
银河英雄传说 luogu 1196 ssl 1225 题目大意: 有n列船,每列一开始有一艘船,可以将某一艘船所在的列所有船接到另外一列,然后会问某两艘船是否在一列,如果在那中间有多少艘船 原题: 题 ...
- 信息学奥赛一本通(1196:踩方格)
1196:踩方格 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 8958 通过数: 5926 [题目描述] 有一个方格矩阵,矩阵边界在无穷远处.我们做如下 ...
- 求约瑟夫环问题最后胜利者的一般解法以及数学推导方法
问题描述: 约瑟夫环问题(Josephus) 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出.写出C程序. 解法一: 思路:建立一个有N个元素的循环链表,然后从链表表头遍 ...
- bzoj 1196: [HNOI2006]公路修建问题(贪心+最小生成树)
1196: [HNOI2006]公路修建问题 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2657 Solved: 1511 [Submit][ ...
- FJNU 1196 汪老司机(DP or 建图+最短路)
1196: 汪老司机 Time Limit: 1000 MS Memory Limit: 257792 KB 64-bit interger IO format: %lld ...
- 霸屏三大综艺 小度强势破圈引发“胜利者效应”
文|曾响铃 来源|科技向令说(xiangling0815) 5月8日,<向往的生活>回归,又见许多熟悉的人和景. 随着众多年度头部综艺的回归和多个城市疫情等级的下调,人们生活逐渐显示更大的 ...
- 信息学奥赛一本通:1196:踩方格
1196:踩方格 [题目描述] 有一个方格矩阵,矩阵边界在无穷远处.我们做如下假设: a.每走一步时,只能从当前方格移动一格,走到某个相邻的方格上: b.走过的格子立即塌陷无法再走第二次: c.只能向 ...
- 周训三 1196 去掉空格
1196 去掉空格 C语言网传送门 题目描述 读入一些字符串,将其中的空格去掉. 输入 输入为多行,每行为一个字符串,字符串只由字母.数字和空格组成,长度不超过80.输入以"End of f ...
最新文章
- 达索系统“体验时代中的制造业”大型活动探索工业数字化转型
- MSSQL返回季度开始月和某月是第几季度
- 2.3 KNN-采用机器学习库来预测鸢尾花的分类
- 循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展
- html文本对齐6,HTML对齐文本
- 【POJ】3268 Silver Cow Party
- 和python哪个容易胖_为什么有些人特别容易胖?
- python三本经典书籍-《python编程入门经典》python之父推荐这三本书让你更快入门...
- Python--day26--封装和@property
- [转]vector iterator not incrementable 的问题
- Smart210使用superboot刷机
- iOS GPS定位减小精度误差的几种处理方法
- 解决 Android 7.0 SQLiteCantOpenDatabaseException: unknown error (code 14)
- python 题目 给出一个整数数组 nums 和一个整数 k
- 利用scrapy爬取新浪体育新闻的小例子
- 淘宝获取sku详细信息
- 解决flutter应用模拟器出现System UI isn‘t respon报错
- LATTICE下载器hw-usbn-2A 2B软件下载驱动安装diamond和ISPVM下载详细使用说明
- 使用报表工具自定义属于自己的报表
- Mac下手动备份Mysql数据库