OJ.2324: 约瑟夫环问题【数组】
来源:互联网 发布:淘宝助理使用 编辑:程序博客网 时间:2024/06/05 23:55
2324: 约瑟夫环问题【数组】
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 714 Solved: 402
[Submit][Status][Web Board]
Description
约瑟夫环问题:设有n个人围坐一圈,并按顺时针方向1—n编号。从第s个人开始进行报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数进行下去 ,直到只剩一个人为业
Input
人数n
从第s个人开始报数s
报到第几个数m
Output
剩下的最后一个人的编号
Sample Input
913
Sample Output
1
#include<stdio.h>#include<stdbool.h>bool a[100]= {0};int main(){ int n,m; int s=0,t,w,f=0; scanf("%d",&n); scanf("%d",&w); scanf("%d",&m); t=w-1; do { t++;//逐个枚举圈中的所有位置 if(t>n) t=1;//数组模拟环状,最后一个与第一个相连 if(!a[t])//第t个位置上有人则报数 s++; if(s==m)//当前报的数是m { s=0;//计数器清零 a[t]=1;//此处人已死 f++;//死亡人数+1 } } while(f!=n); printf("%d ",t); return 0;}
这道题只是在原问题上做了一些些的拓展,即从第S个人开始报数,而不是从第一个。
这就只需要把t的初值由0变为要输入的值-1即可,由于一开始便执行了t++;
阅读全文
0 0
- OJ.2324: 约瑟夫环问题【数组】
- OJ 约瑟夫环 数组
- 约瑟夫环问题【数组】
- 约瑟夫环问题【数组】
- 约瑟夫环问题【数组】
- 数组解决约瑟夫环问题
- 数组解决约瑟夫环问题
- oj 2746 约瑟夫问题
- 华为OJ 约瑟夫问题
- OJ【1197】 约瑟夫问题
- 约瑟夫问题 (sdut oj)
- 南邮 OJ 1190 约瑟夫问题
- 南邮 OJ 1571 约瑟夫问题
- 南邮 OJ 1597 约瑟夫问题
- 洛谷Oj-约瑟夫问题-模拟
- 约瑟夫问题、约瑟夫环
- 使用数组解决约瑟夫环问题
- 用C++数组实现约瑟夫环问题
- ECharts柱状堆积求和——解决方案
- Spring依赖注入常用的两种方式
- Web16. JS 和 浏览器渲染
- C99标准新特性的说明
- SUSE--Tomcat日志,catalina.out乱码彻底解决20170618
- OJ.2324: 约瑟夫环问题【数组】
- 【笔记】YOLO9000: Better, Faster, Stronger
- linux基础入门之mkdir命令
- Android
- 进程详细讲解
- ConcurrentHashMap实现原理,好文章聚合
- LeetCode 435. Non-overlapping Intervals
- LeetCode 406. Queue Reconstruction by Height
- leetcode--3. Longest Substring Without Repeating Characters