結果
| 問題 | 
                            No.939 and or
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2019-12-02 18:55:51 | 
| 言語 | Java  (openjdk 23)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 133 ms / 2,000 ms | 
| コード長 | 785 bytes | 
| コンパイル時間 | 1,948 ms | 
| コンパイル使用メモリ | 74,864 KB | 
| 実行使用メモリ | 54,408 KB | 
| 最終ジャッジ日時 | 2024-11-24 15:32:50 | 
| 合計ジャッジ時間 | 6,794 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 30 | 
ソースコード
import java.io.*;
import java.util.*;
class Main {
	public static void main(String[] args) {
		new Main().run();
	}
    
    void run() {
        Scanner sc = new Scanner(System.in);
        long A = sc.nextLong();
        long B = sc.nextLong();
        long ans=1;
        //and,or
        //10 x
        //01 10,01
        //11 11
        //00 00
        for (long i=0;i<31;++i){
            long u=(A>>i)%2;
            long v=(B>>i)%2;
            if(u==1&&v==0)ans=0;
            else if(u==0&&v==1)ans=ans*2;
            else if(u==1&&v==1)ans=ans;
            else if(u==0&&v==0)ans=ans;
        }
        if(ans==1)System.out.println(ans);
        else System.out.println(ans/2);
    }
	void tr(Object... objects) {
		System.out.println(Arrays.deepToString(objects));
	}
}