結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2019-09-02 05:58:42 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 826 bytes |
コンパイル時間 | 2,271 ms |
コンパイル使用メモリ | 74,704 KB |
実行使用メモリ | 41,692 KB |
最終ジャッジ日時 | 2024-11-30 22:01:21 |
合計ジャッジ時間 | 7,698 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 15 |
ソースコード
import java.util.Scanner; public class Main { private static int N; private static int min = -1; private static boolean flag[] = new boolean[10000]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); dfs(1, 1); System.out.println(min); } private static void dfs(int a, int c){ if(flag[a-1] == false){ flag[a-1] = true; }else{ return; } if(min != -1 && c>=min){ return; } if(a==N){ min = c; } int bit = Integer.bitCount(a); if(a+bit <= N){ dfs(a+bit, c+1); } if(a-bit > 1){ dfs(a-bit, c+1); } } }