結果
| 問題 |
No.1283 Extra Fee
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2020-11-06 22:46:27 |
| 言語 | cLay (20241019-1) |
| 結果 |
AC
|
| 実行時間 | 113 ms / 2,000 ms |
| コード長 | 872 bytes |
| コンパイル時間 | 3,309 ms |
| コンパイル使用メモリ | 175,548 KB |
| 実行使用メモリ | 19,324 KB |
| 最終ジャッジ日時 | 2024-11-16 06:48:45 |
| 合計ジャッジ時間 | 6,060 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
ll fe[512][512];
{
ll @n,@m;
rep(m){
ll @h,@w,@c;
fe[h][w]=c;
}
DijkstraHeap<ll> h;
ll hs=1<<19;
h.walloc(hs);
h.init(hs);
h.change(1<<10|1<<1|0,0);
while(h.size){
ll a=h.pop();
ll v=h.val[a];
ll y=a>>10;
ll x=a>>1&(511);
if(a&1){
if(y>1){
h.change(a-(1<<10),v+fe[y-1][x]+1);
}
if(y<n){
h.change(a+(1<<10),v+fe[y+1][x]+1);
}
if(x>1){
h.change(a-(1<<1),v+fe[y][x-1]+1);
}
if(x<n){
h.change(a+(1<<1),v+fe[y][x+1]+1);
}
}else{
if(y>1){
h.change(a-(1<<10),v+fe[y-1][x]+1);
h.change(a-(1<<10)+1,v+1);
}
if(y<n){
h.change(a+(1<<10),v+fe[y+1][x]+1);
h.change(a+(1<<10)+1,v+1);
}
if(x>1){
h.change(a-(1<<1),v+fe[y][x-1]+1);
h.change(a-(1<<1)+1,v+1);
}
if(x<n){
h.change(a+(1<<1),v+fe[y][x+1]+1);
h.change(a+(1<<1)+1,v+1);
}
}
}
wt(h.val[n<<10|n<<1|1]);
}
tails