十分求助
查看原帖
十分求助
576639
woshishabi11451444楼主2023/6/23 14:01
#include<bits/stdc++.h>
using namespace std;
const int N=105;
int n,m,step,b[N],k,s[N][N];
void check(int len,int song){
	for(int i=1;i<=song;i++){
		int vis=0;
		for(int j=1;j<=len;j++){
			vis+=s[b[j]][i]>0;
		}
		if(vis==1){
			for(int j=1;j<=len;j++){
				s[b[j]][i]=1;
			}
		}
	}
}
void solve(){
	bool flag=false,now=false; 
	cin>>k;
	for(int j=1;j<=k;j++){
		cin>>b[j];
		if(b[j]==1){
			flag=true;
			step++;
		}
	}
	if(flag){
		for(int j=1;j<=k;j++){
			s[b[j]][step]=1;
		}
		now=1;
	}
	if(!now){
		check(k,step);
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		solve();		
	}
	for(int i=1;i<=n;i++){
		bool flag=true;
		for(int j=1;j<=step;j++){
			if(!s[i][j]){
				flag=false;
			}
		}
		if(flag){
			cout<<i<<'\n';
		}
	}
	return 0;
}
2023/6/23 14:01
加载中...