一个队列的题解
2026-02-02 21:39:24
发布于:上海
18阅读
0回复
0点赞
题目翻译:个傻子要糖,拿到了他想要的数量的糖就回去,一次给颗,问最后一个回去的数字是谁
一个队列的一个元素里存两个东西:编号和他要的糖,用一个结构体存。
然后就正常的遍历队列,给糖果,直到剩下一个。
重点:给糖果拿取队列中该元素糖果信息的时候,他的编号也要拿出来,放的时候一起放回去!!!
#include<iostream>
#include<queue>
struct node{
int id,num;
};
namespace tle{
void solve(){
int n,m,a[114514];
std::cin>>n>>m;for(int i=1;i<=n;i++)std::cin>>a[i];
std::queue<node> tang;
for(int i=1;i<=n;i++){
tang.push({i,a[i]});
}
while(tang.size()>1){
int h=tang.front().num;
int iid=tang.front().id;
tang.pop();
h-=m;
if(h>0) tang.push({iid,h});
}
std::cout<<tang.front().id;
}
}
using namespace tle;
signed main(){
solve();
return 0;
}
,卡不满
预估得分:
全部评论 2
ddd
2026-02-02 来自 上海
0ddd
2026-02-02 来自 上海
0







有帮助,赞一个