社区讨论
50分不是RE就是MLE求救啊!!
P7912[CSP-J 2021] 小熊的果篮参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lzgq7xns
- 此快照首次捕获于
- 2024/08/05 16:25 2 年前
- 此快照最后确认于
- 2024/08/05 17:06 2 年前
超清晰代码:
CPP#include<bits/stdc++.h>
#include<deque>
using namespace std;
struct sg{
int zl,bh;/*种类 编号*/
}a;
int e1,sr_e=-1,sl/*输入用*/;
deque<sg> q[100005];
queue<int> ans[100005];
int n,f,cnt,e2;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&e1);
a.bh=i;
a.zl=e1;
if(e1!=sr_e){
sl++;
sr_e=e1;
}
q[sl].push_back(a);
}
/*for(int i=1;i<=sl;i++){
while(!q[i].empty()){
printf("%d ",q[i].front().bh);
q[i].pop();
}
printf("\n");
}*/
while(f<sl){
cnt++;
for(int i=1;i<=sl;i++){
if(!q[i].empty()){
e1=q[i].front().bh;
q[i].pop_front();
if(!q[i].empty()){
e2=i-1;
while(q[e2].empty()){
e2--;
if(e2==0) break;
}
if(e2>0&&q[e2].back().zl==q[i].front().zl){
while(!q[i].empty()){
a.bh=q[i].front().bh;
a.zl=q[i].front().zl;
q[i].pop_front();
q[e2].push_back(a);
}
}
}
ans[cnt].push(e1);
if(q[i].empty()) f++;
}
}
}
for(int i=1;i<=cnt;i++){
while(!ans[i].empty()){
printf("%d ",ans[i].front());
ans[i].pop();
}
printf("\n");
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...