結果
| 問題 | No.3508 OR Mapping |
| コンテスト | |
| ユーザー |
👑 tails
|
| 提出日時 | 2026-04-19 04:19:50 |
| 言語 | cLay (20250308-1 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 482 bytes |
| 記録 | |
| コンパイル時間 | 4,018 ms |
| コンパイル使用メモリ | 194,980 KB |
| 実行使用メモリ | 68,608 KB |
| 最終ジャッジ日時 | 2026-04-19 04:20:28 |
| 合計ジャッジ時間 | 16,619 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 48 WA * 17 |
ソースコード
void no(){
wt("No");
exit(0);
}
{
int@n,@m,@k,@(u,v)--[m],r[n],c[n]{},e[n]{},h=0;
graph g;
g.setDirectEdge(n,m,u,v);
int rn=g.scc(r);
if(r[0]){
no();
}
unionFind d('m',n*2,1);
rep(j,m){
if(r[u[j]]==r[v[j]]){
d(u[j],v[j]+n);
d(u[j]+n,v[j]);
}else if(r[u[j]]+1==r[v[j]]){
h+=!e[u[j]]++;
}
}
if(h!=rn-1){
no();
}
rep(i,n){
c[r[i]]+=1;
}
bool f=true;
rep(i,rn){
if(f&&c[i]==1){
no();
}
f=c[i]==1;
}
rep(i,n){
if(c[r[i]]>1&&d(i)!=d(i+n)){
no();
}
}
wt("Yes");
}
tails