扑克牌A,2,3,- - -K 顺序叠放,将最上面的如A放入最底下(K之后),删除再最上面的扑克,重复n次操作,求最上面的扑克牌是什么?
解法:使用模拟法
#include <iostream>
#include <queue>
using namespace std;
int main(){
queue<int> Qsrc;
for (int i=1; i<=13; i++) {
Qsrc.push(i);
}
//cout<<Qsrc.size()<<endl;
int cnt=13;
int res=0;
for (int i=1; i<=cnt; i++) {
int tmp=Qsrc.front();
Qsrc.push(tmp);
Qsrc.pop();
Qsrc.pop();
res=Qsrc.front();
cout<<i<<"round: "<<res<<endl;
}
return 0;
}