結果
問題 | No.3 ビットすごろく |
ユーザー |
![]() |
提出日時 | 2019-07-28 19:00:56 |
言語 | Java (openjdk 23) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,476 bytes |
コンパイル時間 | 4,244 ms |
コンパイル使用メモリ | 78,288 KB |
実行使用メモリ | 39,288 KB |
最終ジャッジ日時 | 2024-07-02 15:06:03 |
合計ジャッジ時間 | 7,993 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 33 |
ソースコード
import java.io.Console;import java.util.*;public class No3 {public static void main(String[] args){Console console = System.console();int N = Integer.parseInt(console.readLine());/*Scanner sc =new Scanner(System.in);int N = sc.nextInt();*/int list[] = new int[N + 15];List<Integer> q1 = new ArrayList<Integer>();List<Integer> q2 = new ArrayList<Integer>();q1.add(1);int count = 0;int i = 0;while(i<1){q1.addAll(q2);q2.clear();for(int Num : q1){int one = Integer.bitCount(Num);if(Num-one>0){if(list[Num-one]==0){count=count+1;list[Num-one]=count;q2.add(Num-one);}}if(Num+one<=N){if(list[Num+one]==0){count=count+1;list[Num+one]=count;q2.add(Num+one);}}}if(list[N]!=0){System.out.println(list[N]);i = i+1;break;}else if(q2.isEmpty()){System.out.println(-1);i = i+1;break;}}}}