結果
問題 | No.1293 2種類の道路 |
ユーザー |
![]() |
提出日時 | 2020-11-20 22:14:12 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 68 ms / 2,000 ms |
コード長 | 467 bytes |
コンパイル時間 | 2,612 ms |
コンパイル使用メモリ | 180,924 KB |
実行使用メモリ | 19,456 KB |
最終ジャッジ日時 | 2024-07-05 14:46:58 |
合計ジャッジ時間 | 5,014 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
graph gv,gw; int a[1d5],b[1d5],c[1d5],d[1d5]; int vc[1d5+1],wc[1d5+1]; int vd[1d5+1],wd[1d5+1]; set<long> aset; { int @n,@v,@w; rd((a,b)(v),(c,d)(w)); gv.setEdge(n+1,v,a,b); gw.setEdge(n+1,w,c,d); gv.scc(vc); gw.scc(wc); ll z=-n; for(int i=1;i<=n;++i){ vd[vc[i]]+=1; wd[wc[i]]+=1; } for(int i=1;i<=n;++i){ int vi=vc[i]; int wi=wc[i]; ll k=(ll)vi<<32|wi; if(aset.find(k)==aset.end()){ aset.insert(k); z+=(ll)vd[vi]*wd[wi]; } } wt(z); }