結果

問題 No.2914 正閉路検出
ユーザー tails
提出日時 2024-10-04 23:12:53
言語 cLay
(20241019-1)
結果
AC  
実行時間 64 ms / 2,000 ms
コード長 791 bytes
コンパイル時間 2,427 ms
コンパイル使用メモリ 184,292 KB
実行使用メモリ 25,928 KB
最終ジャッジ日時 2024-10-04 23:13:01
合計ジャッジ時間 6,525 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 55
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

struct N{int i,j,w;};
vector<N>d[1d5];
int e[1d5];
ll h[1d5];
int o[1d5];
int z[1d5];
int dir;
bool f(int i,int l,ll g){
if(e[i]==0){
e[i]=1;
h[i]=g;
o[i]=l;
rep(j,d[i].size()){
z[l]=d[i][j].i;
if(f(d[i][j].j,l+1,g+d[i][j].w)){
if(e[i]==3){
if(dir){
rep(k,l,o[i]-1){
wtSp(z[k]+1);
}
wt(z[o[i]-1]+1);
}else{
rrep(k,l+1,o[i]){
wtSp(z[k]+1);
}
wt(z[l]+1);
}
exit(0);
}
return true;
}
}
e[i]=2;
}
if(e[i]==1){
if(g!=h[i]){
wt(l-o[i]);
wt(i+1);
dir=g>h[i];
o[i]=l;
e[i]=3;
return true;
}
}
return false;
}
{
int@n,@m,@(u,v,w)[m];
rep(i,m){
d[u[i]-1].push_back({i,v[i]-1,w[i]});
d[v[i]-1].push_back({i,u[i]-1,-w[i]});
}
rep(i,n){
f(i,0,0);
}
wt("-1");
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0