CSP 201712-2 游戏 队列-中级模拟※

201712-2 游戏

队列queue

#include<queue>
queue<int>q;//定义
q.push(i);//入队,接到队列末端
q.pop();//弹出队列第一个元素,不返回值
q.front();//返回队列第一个元素值
q.back();//返回队列最后一个元素值
q.empty();//队列为空,返回true
q.size();//队列元素个数

队列,栈与链表

链表可以访问首尾和中间元素,队列可以访问首尾,栈只能访问尾

MyAnswer

#include<iostream>
#include<queue>
using namespace std;
bool isOff(int a,int k)
{
	if (a%k== 0 || a %10 == k)
		return 1;
	else
		return 0;
}
int main()
{
	int n, k;//n为小朋友数,k为指定数
	cin >> n >> k;
	queue<int> q;
	for (int i = 1; i <= n; i++)
		q.push(i);
	int num = 1;
	while (q.size() > 1)
	{
		int temp = q.front();//访问当前报数的编号
		q.pop();//弹出当前报数的编号
		if (isOff(num, k) == 0)//不被淘汰
			q.push(temp);//接到队列尾
		num++;
	}
	cout << q.front();
	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值