Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33587 LYLAKIOIAKIOI 【BJ】T1 C++ 运行超时 50 1000 MS 25588 KB 2420 2024-10-11 19:25:00

Tests(5/10):


#include<bits/stdc++.h> #define PII pair<int,int> #define mk make_pair #define fi first #define se second using namespace std; const int N=1e5+10; stack<PII> ans; vector<int> E[N]; int du[N];int n,m; int c[N];bool vis[N],in[N],com[N]; multiset<int> s[N]; queue<PII> q; bool chk(int p){ bool fl=0; if(!s[p].empty()){ if(*s[p].begin()==*(--s[p].end())){ fl=1; } }//if(s[p].empty()) fl=1; return fl; }map<int,int> dt; int main(){ cin>>n>>m;for(int i=1;i<=n;i++) cin>>c[i]; for(int i=1;i<=m;i++){ int u,v;cin>>u>>v;E[u].push_back(v);E[v].push_back(u); }for(int i=1;i<=n;i++){ for(auto ed:E[i]){ s[i].insert(c[ed]); }s[i].insert(c[i]); }queue<PII> q; for(int i=1;i<=n;i++) if(chk(i)) q.push(mk(i,c[i])),vis[i]=1; while(!q.empty()){ PII p=q.front();q.pop(); //cout<<p.fi<<endl; ans.push(mk(p.fi,p.se)); //if(com[p.fi]) continue;com[p.fi]=1; for(auto ed:E[p.fi]){ //if(p.fi==82) cout<<com[p.fi]<<endl; if(vis[ed]) continue; if(!com[p.fi]) s[ed].erase(s[ed].find(c[p.fi])); if(!in[ed]) s[ed].erase(s[ed].find(c[ed])),in[ed]=1; if(chk(ed)) q.push(mk(ed,*s[ed].begin())),vis[ed]=1; if(ed==82) cout<<"OO"<<chk(ed)<<' '; if(com[ed]) continue;com[ed]=1; for(auto eg:E[ed]){ if(vis[eg]) continue; s[eg].erase(s[eg].find(c[ed])); //if(eg==2) cout<<"OO"<<ed<<chk(eg)<<' '; if(chk(eg)) q.push(mk(eg,*s[eg].begin())),vis[eg]=1; } }com[p.fi]=1; } bool fl=1;//cout<<endl; for(int i=1;i<=n;i++) if(!vis[i]) {fl=0;cout<<i<<' '<<in[i]<<' '; /*cout<<endl;cout<<i<<' '; set<int> jp8;jp8.clear();for(auto it:s[i]) jp8.insert(it); cout<<jp8.size()<<endl;for(auto it:jp8) cout<<it<<' ';cout<<endl;*/ for(auto ed:E[i]) if(!vis[ed]) cout<<ed<<' '; cout<<endl;for(auto ed:E[i]) if(vis[ed]) cout<<ed<<' '; cout<<endl<<endl;; } if(!fl) cout<<"NO"<<endl; else{ cout<<"YES"<<endl; cout<<ans.size()<<endl; while(!ans.empty()){ PII p=ans.top();ans.pop(); cout<<p.fi<<' '<<p.se<<endl; } }//cout<<endl<<c[114]<<' '<<c[2]<<' '<<c[24]; return 0; }


测评信息: