結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2019-07-28 18:00:21 |
言語 | Java (openjdk 23) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,386 bytes |
コンパイル時間 | 4,753 ms |
コンパイル使用メモリ | 78,292 KB |
実行使用メモリ | 50,636 KB |
最終ジャッジ日時 | 2024-07-02 15:05:28 |
合計ジャッジ時間 | 13,506 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 26 TLE * 1 -- * 6 |
ソースコード
import java.util.*; public class No3 { public static void main(String[] args){ 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; 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; } } } }