結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2017-07-05 13:18:05 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 698 bytes |
コンパイル時間 | 1,832 ms |
コンパイル使用メモリ | 76,824 KB |
実行使用メモリ | 56,120 KB |
最終ジャッジ日時 | 2024-10-05 19:50:26 |
合計ジャッジ時間 | 6,671 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 15 |
ソースコード
import java.util.*; import java.util.Arrays; public class Main { static int[] isOk = new int[10000]; static int n; public static void main(String[] args){ Arrays.fill(isOk, 0); Scanner sc = new Scanner(System.in); n = sc.nextInt(); isOk[0] = 1; check(1); if(isOk[n-1]==0){ System.out.println(-1); }else{ System.out.println(isOk[n-1]); } } static void check(int x){ int sum = 0; int xx = x; do{ sum += xx%2; xx = xx/2; }while(xx>0); if(x+sum<=n){ if(isOk[x+sum-1]==0){ isOk[x+sum-1]=isOk[x-1]+1; check(x+sum); } } if(x-sum>0){ if(isOk[x-sum-1]==0){ isOk[x-sum-1]=isOk[x-1]+1; check(x-sum); } } } }