乱搞做法求助

P1983 [NOIP2013 普及组] 车站分级

星之哀伤 @ 2023-11-02 14:57:57

在没想到正解的情况下还搞了70分。。

有大佬看看错在哪了吗

#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;
}

by FCJ666 @ 2023-11-02 15:23:17

没return 0;


|