| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38973 | LYLAKIOIAKIOI | 【S】T4 | C++ | 解答错误 | 81 | 240 MS | 7992 KB | 2506 | 2025-11-26 17:54:33 |
#include<bits/stdc++.h> using namespace std; const int N=1050; int n,m; vector<int> vec[N]; bitset<N> bs[N],g[N]; int e[N][N];bool tag[N]; void erase(int x,int y){ e[x][y]--;e[y][x]--; if(!e[x][y]) g[x].set(y,0); if(!e[y][x]) g[y].set(x,0); }bitset<N> tmp,tmp2; bool dfs(int rt,vector<int> vc){ //cout<<rt<<endl; for(int i=1;i<=m;i++){ if(tag[i]) continue; if(bs[i].test(rt)){ tag[i]=1; for(int j=1;j<vec[i].size();j++){ erase(vec[i][j-1],vec[i][j]); } } } tmp.reset(); for(auto ed:vc) if(ed!=rt) tmp.set(ed,1); vector<vector<int>> nodes;vector<int> now; queue<int> q; for(auto ed:vc){ if(ed==rt) continue; if(!tmp.test(ed)) continue; now.clear();q.push(ed);tmp.set(ed,0); while(!q.empty()){ int p=q.front();q.pop();now.push_back(p); tmp2=g[p]&tmp; for(int x=tmp2._Find_first();x!=tmp2.size();x=tmp2._Find_next(x)){ q.push(x);tmp.set(x,0); } } nodes.push_back(now); }bool flg=1; for(auto ed:nodes){ tmp.reset();tmp2.reset(); for(auto eg:ed) tmp.set(eg,1),tmp2.set(eg,1); //cout<<"pdfs:"<<endl; //for(auto eg:ed) cout<<eg<<' ';cout<<endl; for(int i=1;i<=m;i++){ if(bs[i].test(rt)){ if((bs[i]&tmp2).none()) continue; //cout<<"test:"<<i<<endl; tmp&=bs[i]; } }if(tmp.none()) return 0; int nrt=tmp._Find_first(); dfs(nrt,ed); }return flg; } void slv(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ e[i][j]=0; }g[i].reset(); } for(int i=1;i<=m;i++){ bs[i].reset();vec[i].clear(); int k;cin>>k;tag[i]=0; for(int j=1;j<=k;j++){ int x;cin>>x; bs[i].set(x,1);vec[i].push_back(x); } for(int j=1;j<vec[i].size();j++){ int x=vec[i][j-1],y=vec[i][j]; e[x][y]++;e[y][x]++; g[x].set(y,1);g[y].set(x,1); } } vector<int> vc; for(int i=1;i<=n;i++) vc.push_back(i); int res=dfs(1,vc); if(res) cout<<"YES"<<endl; else cout<<"NO"<<endl; } int main(){ //freopen("rel.in","r",stdin); //freopen("rel.out","w",stdout); int t;cin>>t;while(t--) slv(); return 0; }