被民间数据卡掉
查看原帖
被民间数据卡掉
539618
DaiRuiChen007楼主2022/4/5 11:17

WA on #2 #10 #15

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6;
struct node {
	int sz,id;
	vector <int> p;
	inline friend bool operator <(const node &x,const node &y) {
		return x.sz>y.sz;
	}
}	a[MAXN];
int lst[MAXN];
inline void solve() {
	int n;
	scanf("%d",&n);
	memset(lst,0,sizeof(lst));
	for(int i=1;i<=n;++i) a[i].p.clear();
	for(int i=1;i<=n;++i) {
		scanf("%d",&a[i].sz);
		a[i].id=i;
		for(int j=1;j<=a[i].sz;++j) {
			int x;
			scanf("%d",&x);
			a[i].p.push_back(x);
		}
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=n;++i) {
		int pre=0;
		for(int v:a[i].p) {
			if(pre!=0&&lst[v]!=pre) {
				printf("YES\n%d %d\n",a[i].id,a[max(lst[v],pre)].id);
				return ;
			} else pre=lst[v];
		}
		for(int v:a[i].p) lst[v]=i;
	}
	puts("NO");
	return ;    
}
signed main() {
	int T;
	scanf("%d",&T);
	while(T--) solve();
	return 0;
}
2022/4/5 11:17
加载中...