제출 #56751

#제출 시각아이디문제언어결과실행 시간메모리
56751ramchandra무제 (POI11_kon)C++14
0 / 100
3076 ms132096 KiB
#include <bits/stdc++.h> #define fo(i,a,b) for(ll i=a;i<b;i++) #define vc vector #define us unordered_set #define pb push_back #define in(x) ll x;cin>>x; //#define DEBUG #ifdef DEBUG #define dbg(x) cerr<<#x<<": "<<x<<endl; #else #define dbg(x) #endif using namespace std; using ll = long long; const ll M = 1e9+7; int main(){ in(n); //in(m); vc<us<ll>> g(n); /*fo(i,0,m){ in(a);in(b);a--;b--; #define ad(x,y) g[x].insert(y); ad(a,b);ad(b,a); }*/ fo(i,0,n){ in(de); fo(j,0,de){ in(v);v--; g[i].insert(v); } } vc<ll> t(n); vc<us<ll>> q(3); fo(i,0,n){q[0].insert(i);} #define set(v,tp) if(t[v]==0){dbg(v);dbg(tp);q[0].erase(v);ch=true;t[v] = tp;q[tp].insert(v);} bool ch = false; while(!q[0].empty()){ fo(i,0,3){dbg(i);dbg(q[i].size());} ll x = *q[0].begin(); set(x,1); while(ch){ ch = false; for(ll v:q[1]){ for(ll u:g[v]){ set(u,2);}} q[1].clear(); for(ll v:q[2]){ fo(u,0,n){ if(!g[v].count(u)){ set(u,1);}}} q[2].clear(); } } fo(i,0,n){q[t[i]].insert(i);}//;cerr<<t[i]<<" ";} //cerr<<endl; //fo(i,0,n){cerr<<"i: "<<g[i].size()<<endl;} vc<ll> c(4,0); for(ll v:q[1]){ if(g[v].size() == q[2].size()){ c[1]++;}} for(ll v:q[2]){ if(g[v].size() == q[2].size()-1){ c[2]++;}} for(ll v:q[2]){ if(g[v].size() == q[2].size()){ c[3]++;}} //cerr<<c[1]<<endl;cerr<<c[2]<<endl;cerr<<c[3]<<endl; ll ans = (1*1+c[1]+c[2]+c[1]*c[3])%M; cout<<ans<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...