题解 1160: 出圈

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

筛选

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

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

编写题解 1160: 出圈(队列)

摘要:解题思路:把m-1个数加到后面之后,删除第一个数即可注意事项:参考代码:while True:    try:        n,m = map(int,input().split())       ……

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; ……

无需链表,一维数组循环解决

摘要:解题思路:注意事项:参考代码:#include<stdio.h>int magic(const int n,int cu){ int a[n];                     //用数组记录……

1160出圈(利用数组遍历解决)

摘要:解题思路:这道题其实最好还是用单项循环链表做时最好的,所以以后学了链表后可以拿这道题练手,下面时模拟遍历的做法。注意事项:参考代码:#include<iostream>using namespace ……

出圈,人要麻木了,真的出圈了

摘要:解题思路:注意事项:在判断最后一个函数中的迭代器要两次判断尾参考代码:#include <iostream> #include <vector> using namespace std; voi……

1160: 出圈 (vector , 公式法)

摘要:解题思路:Vector注意事项:删除元素的位置在末尾的时候,需要注意初始化为0参考代码:#include#include  using namespace std; int main() { ……

循环链表解法(c语言代码)

我是很不想用链表的,因为每次写完都有一堆bug,因为链表很容易访问到空指针。但是我更不想用数组,数组太费脑子了。```c#include#include//定义链表节点结构体typedefstructnode{intdata;//节点存储的数据structnode*next;//指向下一个节点的指针s