首页 > 其他分享 >洛谷 P1996 约瑟夫问题

洛谷 P1996 约瑟夫问题

时间:2022-12-12 19:36:34浏览次数:41  
标签:count 洛谷 int res 出局 约瑟夫 while P1996 poi


问题简介:

小朋友围城一圈,从1号开始报数,报到M的那位同学出局,然后下一位同学报1,循环上述过程直到所有同学出局。

输出 依次出局的小朋友的号码

解题思路:

没什么好说的,就是模拟,出局我们可以不用真的删除,打个标记就行

废话:

先想清楚什么时候打标记再做,不要急着动手。

#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;cin>>n>>m;
if(!n)return 0;
int count=n;
int poi=0;
int res[n+10];
memset(res,0,sizeof(res));
while(1){
for(int i=0;i<m-1;i++){
poi=(poi+1)%n;
while(res[poi])poi=(poi+1)%n;
res[poi]=1;
cout<<(poi+1)<<" ";
poi=(poi+1)%n;
count--;
if(!count){
cout<<endl;
exit(0);}
while(res[poi])poi=(poi+1)%n;
}
return 0;
}

 

标签:count,洛谷,int,res,出局,约瑟夫,while,P1996,poi
From: https://blog.51cto.com/u_15910522/5931533

相关文章

  • 洛谷 P1233 木棍加工(贪心,递增子串DP)
    题目大意:有矩形A1,A2......An.每个矩形有长宽w,h。现在已知cost:(1)若矩形a的w,h小于矩形b的w,h,那么没有cost(2)其它情况cost+1.现在已知矩形A1,A2...,问怎么得到最少cost.解题思......
  • 洛谷 P1057 传球游戏(背包DP)
    题目大意:有n个人围成一圈,每个人可以把手上的球传给左边或者右边,现在小明开始传球,问m次后,把球传回给自己的次数。解题思路:考虑DP,使用带记忆的DP, 首先我们的状态可以设为[还......
  • 洛谷 P5143 攀爬者 题解
    原题链接P5143攀爬者解析内心OS第一眼看上去:他**滴,这么离谱的公式,这还是正常的橙题吗?1分钟后······这么简单的题,还好意思当橙题?(请忽略上方内容)......
  • 「题解」洛谷 P8850 [JRKSJ R5] Jalapeno and Garlic
    2022.12upd:原先代码锅了,重写了一份。看上去是比较常规的题,应当需要更灵敏的直觉和更快的速度解决这道题。首先考虑若已经确定一个\(x\),那么贪心修改策略就是随便找一个......
  • 「题解」洛谷 P8848 [JRKSJ R5] 1-1 B
    首先不考虑只有\(1\)或者只有\(-1\)的平凡情况。令\(z\)为\(1\)的个数,\(f\)为\(-1\)的个数,若有\(f\geqz\),那么可以构造使得最大子段和为\(1\)(因为有\(1\)......
  • 洛谷 P1786 帮贡排序 题解
    原题链接P1786帮贡排序解析实现方法一看题:这不就是道排序吗?但是——用啥办法呢?这自带的排序方法,肯定是不能用了那么我们就来写一个cmp排序函数吧!但是——输出排......
  • 题解 洛谷 P2885 [USACO07NOV]Telephone Wire G
    1.题面描述题目链接给出\(n\)棵树的高度。你可以进行任意次操作,每次操作形如:把某棵树增高\(x\),代价为\(x^2\)(注意:不能将一棵树的高度减少)。在操作完之后,一个状态......
  • 题解 洛谷 P3594 [POI2015] WIL
    1.题面描述题目链接给定一个长度为\(n\)的序列,你有一次机会选中一段连续的长度不超过\(d\)的区间,将里面所有数字全部修改为\(0\)。请找到最长的一段连续区间,使得该......
  • 题解 洛谷 P3793 由乃救爷爷
    1.题面描述题目链接给定长为\(n\)的序列,\(m\)次询问,查询区间最大值。\(n,m\le10^7\),数据随机。2.分析经典的静态区间最小值问题,经典题目配经典算法,考虑到ST表......
  • 洛谷CF1473D
    分析题意:给定l,r,将1~l-1的符号于r+1~n的符号合并。从左往右依次计算,求过程中最大值与最小值的差+1。Forexample:n=4l=2r=3符号串为+-+-则依次进行“+”“-”运算,原来为......