社区讨论
乱搞做法求助
P1983[NOIP 2013 普及组] 车站分级参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @logu68xp
- 此快照首次捕获于
- 2023/11/02 14:59 2 年前
- 此快照最后确认于
- 2023/11/02 18:11 2 年前
在没想到正解的情况下还搞了70分。。
有大佬看看错在哪了吗
CPP#include<bits/stdc++.h>
using namespace std;
int a[1001];
int n,m;
int sum=1,sun=0;
int maxn=-1;
struct node{
int qi;
int zhong;
int che[1001];
}b[1001];
bool p[1001];
int main(){
freopen("P1983_6.in","r",stdin);
cin>>n>>m;
for(int a1,i=1;i<=m;i++){
cin>>a1;
for(int op,j=1;j<=a1;j++){
cin>>op;
if(j==1) b[i].qi=b[i].che[op]=op;
if(j==a1) b[i].zhong=b[i].che[op]=op;
b[i].che[op]=op;
}
}
for(int i=1;i<=m;i++){
bool lp=0;
for(int j=b[i].qi;j<=b[i].zhong;j++){
if(lp==1){
maxn=max(maxn,a[j]);//要升多少级
if(j==b[i].zhong){
sum++;//升级次数
for(int j=b[i].qi;j<=b[i].zhong;j++) if(b[i].che[j]!=0){
a[b[i].che[j]]=maxn+1;
}
maxn=-1;
}
}
if(a[j]>=a[b[i].qi]&&b[i].che[j]==0){ //有升级需要
lp=1;
}
}
}
cout<<sum;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...