結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
monaka
|
| 提出日時 | 2022-01-03 14:21:23 |
| 言語 | TypeScript (6.0.2) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 713 bytes |
| 記録 | |
| コンパイル時間 | 4,554 ms |
| コンパイル使用メモリ | 348,304 KB |
| 最終ジャッジ日時 | 2026-06-05 05:59:19 |
| 合計ジャッジ時間 | 5,166 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.ts(2,15): error TS7006: Parameter 'input' implicitly has an 'any' type.
main.ts(8,12): error TS2339: Property 'floor' does not exist on type '{ floor: number; step: number; } | undefined'.
main.ts(8,19): error TS2339: Property 'step' does not exist on type '{ floor: number; step: number; } | undefined'.
main.ts(23,22): error TS7006: Parameter 'i' implicitly has an 'any' type.
ソースコード
function main(input) {
const n = parseInt(input[0]);
const minStep = [];
const q = [{floor:1, step:1}];
while(q.length > 0) {
const {floor, step} = q.shift();
if(floor < 1 || floor > n) continue;
if(minStep[floor] <= step) continue;
minStep[floor] = step;
const oneBit = countOneBit(floor);
q.push({floor:(floor+oneBit), step:(step+1)});
q.push({floor:(floor-oneBit), step:(step+1)});
}
if(minStep[n]) {
console.log(minStep[n]);
} else {
console.log(-1);
}
}
function countOneBit(i) {
let count = 0;
while(i > 0) {
if((i & 1) === 1) count++;
i >>= 1;
}
return count;
}
main(require("fs").readFileSync("/dev/stdin", "utf8").split("\n"));
monaka