G18|发牌游戏题解——STL队列法
2026-09-27 20:26:28
发布于:广东
9阅读
0回复
0点赞
G18|发牌游戏题解——STL队列法
较详细题解(具体讲解在代码里)
使用基础STL队列
·qu.push(x)//入队列
·qu.front()//获取队列首值
·qu.pop()//删除队列首值
综上,写出代码:
#include<bits/stdc++.h>
using namespace std;
//初始化
queue<int>qu;
int k,n,p;
int main(){
//输入
cin >> k >> n >> p;
//建立牌
for(int i = 1;i<=k;i++)
qu.push(i);
//重复至发完牌
for(int i = 1;i<=k;i++){
//发牌(输出)
cout << qu.front() << ' ';
qu.pop();
//洗牌
for(int j = 1;j<=p;j++){
qu.push(qu.front());
qu.pop();
}
}
return 0;
}
时间复杂度是
O(k+kp)
这里空空如也


有帮助,赞一个