题解 | 围圈报数(队列版)

围圈报数

https://www.nowcoder.com/practice/b033062d346c4e42a7191b94164c1cd7

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<queue>
using namespace std;
int main() {
	int m,n,no,cur;
	int p = 1;
	queue<int> ppqueue;
	scanf("%d", &m);

	for (int i = 0; i < m; i++) {
		scanf("%d", &n);
		for (int j = 1; j <= n; j++) {
			ppqueue.push(j);
		}
		int say = 1;
		while (1) {
			cur = ppqueue.front();
			ppqueue.pop();
			if (say == 3) {
				say = 1;
				if (ppqueue.empty()) {
					printf("%d\n", cur);
					break;
				}
				else {
					printf("%d ",cur);
				}
			}
			else {
				say++;
				ppqueue.push(cur);
			}
		}
	}
}

全部评论

相关推荐

顺利毕业的鸽子:这个不一定,找hr跟进一下
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务