結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2019-07-05 07:35:57 |
言語 | Java (openjdk 23) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,357 bytes |
コンパイル時間 | 3,513 ms |
コンパイル使用メモリ | 78,184 KB |
実行使用メモリ | 54,540 KB |
最終ジャッジ日時 | 2024-09-19 20:08:33 |
合計ジャッジ時間 | 7,829 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 1 RE * 32 |
ソースコード
import java.util.*; public class main{ public static void main(String[] args){ Scanner sc =new Scanner(System.in); int N = sc.nextInt(); int list[] = new int[N + 15]; list[1] = 1; 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; q1.add(Num-one); } } if(Num+one<=N){ if(list[Num+one]==0){ count=count+1; list[Num+one]=count; q1.add(Num+one); } } } if(list[N]!=0){ System.out.println(list[N]); i = i+1; break; }else if(q1.isEmpty()){ System.out.println(-1); i = i+1; break; } } } }