結果
| 問題 | 
                            No.3 ビットすごろく
                             | 
                    
| コンテスト | |
| ユーザー | 
                             hj5ln8kbDM8t2fF
                         | 
                    
| 提出日時 | 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;
            }
        }
    }
}
            
            
            
        
            
hj5ln8kbDM8t2fF