80双mle求调
查看原帖
80双mle求调
454444
StenvenPig楼主2023/10/5 16:55
#include<bits/stdc++.h>
using namespace std;
vector<int> a[1010];
int m,n,b[1010];
int main() {
	cin>>m>>n;
	for(int i=1;i<=n;i++){
		int s;
		cin>>s;
		int last;
		cin>>last;
		vector<int>x,y;
		x.push_back(last);
		for(int j=2;j<=s;j++){
			int t;
			cin>>t;
			x.push_back(t);
			for(int k=last+1;k<t;k++) y.push_back(k);
			last=t;
		}
		for(int j:x){
			for(int k:y){
				a[j].push_back(k);
				b[k]++;
			}
		}
	}
	int tot=0,ans=0;
	
	while (tot<m){
		ans++;
		vector<int> nd;
		for(int i=1;i<=m;i++){
			
			if(!b[i]){
				nd.push_back(i);	
			}
		}
		for(auto x:nd){
			b[x]=-1;
			for(auto i:a[x]){
				b[i]--;
			}
			tot++;
		}
	}
	cout<<ans;
	return 0;
}

2023/10/5 16:55
加载中...