题解 1160: 出圈

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

1160: 出圈(c++)

摘要:```cpp #include using namespace std; int main() { int n,m; while(cin>>n>>m) { ……

一个初学者的简单思路--出圈

解题思路:我们设置一个计数的count,如果说一共有n个人,把一个数组的前n项均设为1,那么count在遍历的时候可以把每一项值相加,如果count=m,则说明此位置的人出圈,这时我们把count再设为0,把此位置元素设为0,于是当count再遍历这个地方的时候会加0,相当于没有对此计数。

出圈:重点是怎么在反复遍历一个圈时确定下标问题

解题思路:本题可以将所有的人从1到m设置好序号,然后放到列表里面,序号存在表示该人尚未出圈,每次遍历时index更新为(index+(m-1))%len(c),保证下标在超过范围时能够正确判断,每一次都进行判断删除直到列表长度为1时停止,此时列表中的唯一的序号c[0]就是所求的最后一个人的初始编号注意

1160: 出圈(好东西哈)

摘要:解题思路:注意事项:参考代码:#include<iostream>#include<cstring>                //memset()必备using namespace std;in……

猴子选大王(报数问题)

摘要:解题思路:注意事项:参考代码:#include<stdio.h>int main() { int n,m; while(scanf("%d %d",&n,&m)!=EOF) { int s=0; ……