新思路!

P1983 [NOIP2013 普及组] 车站分级

膜拜膜拜 70分大佬
by outstanding_c @ 2018-10-07 12:59:09


``` #include<iostream> using namespace std; int n,m,a[1001][1001],r[10001],ans=0,book[1001][1001]; int main(){ cin>>m>>n; for(int i=1;i<=m;i++)r[i]=1; for(int i=1;i<=n;i++){ cin>>a[i][0]; for(int j=1;j<=a[i][0];j++){ cin>>a[i][j]; book[i][a[i][j]]=1; } } while(1){ bool fl=1; for(int i=1;i<=n;i++){ int maxx=0; for(int j=a[i][1];j<=a[i][a[i][0]];j++){ if(book[i][j])continue; if(r[j]>maxx){ maxx=r[j]; } } for(int j=1;j<=a[i][0];j++){ if(r[a[i][j]]<=maxx){ r[a[i][j]]=maxx+1; fl=0; } } } if(fl)break; } int ans=1; for(int i=1;i<=m;i++){ if(r[i]>ans)ans=r[i]; } cout<<ans; return 0; } ```
by outstanding_c @ 2018-10-07 13:01:52


ac了
by outstanding_c @ 2018-10-07 13:05:27


(上 答 作 废)
by 蒻得不行 @ 2018-10-17 13:58:46


|