結果
問題 |
No.1553 Lovely City
|
ユーザー |
![]() |
提出日時 | 2021-06-18 22:17:47 |
言語 | cLay (20241019-1) |
結果 |
WA
|
実行時間 | - |
コード長 | 872 bytes |
コンパイル時間 | 3,164 ms |
コンパイル使用メモリ | 189,636 KB |
実行使用メモリ | 37,484 KB |
最終ジャッジ日時 | 2024-07-05 15:15:55 |
合計ジャッジ時間 | 9,794 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 10 WA * 16 |
ソースコード
{ VI resu,resv; graph g; int @n,@m; VI u(m),v(m); rd((u,v)(m)); g.setDirectEdge(n+1,m,u.data(),v.data()); VI ss(n+1); int sn=g.scc(ss.data()); // VVI vvi(sn); vector<VI> vvi(sn); rep(i,1,n+1){ vvi[ss[i]].push_back(i); } rep(j,sn){ int n=vvi[j].size(); if(n>1){ rep(k,n-1){ resu.push_back(vvi[j][k]); resv.push_back(vvi[j][k+1]); } resu.push_back(vvi[j][n-1]); resv.push_back(vvi[j][0]); } } unionFind uf; uf.walloc(n+1,1); rep(i,m){ int su=ss[u[i]]; int sv=ss[v[i]]; if(su!=sv){ uf(su,sv); } } vector<VI> vv(sn); rep(i,sn){ vv[uf(i)].push_back(i); } rep(i,sn){ int n=vv[i].size(); if(n>1){ sort(vv[i].begin(),vv[i].end()); rep(j,n-1){ resu.push_back(vvi[vv[i][j]][0]); resv.push_back(vvi[vv[i][j+1]][0]); } } } wt(int(resu.size())); rep(i,resu.size()){ wt(resu[i],resv[i]); } }