結果

問題 No.353 ヘイトプラス
ユーザー spacia
提出日時 2016-06-02 14:28:58
言語 Java
(openjdk 23)
結果
AC  
実行時間 133 ms / 1,000 ms
コード長 1,691 bytes
コンパイル時間 3,701 ms
コンパイル使用メモリ 78,132 KB
実行使用メモリ 41,376 KB
最終ジャッジ日時 2024-06-29 13:50:29
合計ジャッジ時間 5,550 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

package yukicoder;
import java.util.Arrays;
import java.util.Scanner;
public class No353 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(add(a, b));
sc.close();
}
// ab
public static int add (int a, int b) {
String a_plus_b_bin = "";
// ab2
String a_bin = Integer.toBinaryString(a);
String b_bin = Integer.toBinaryString(b);
//
boolean is_move_up = false;
//
while (a_bin.length() < b_bin.length()) a_bin = "0".concat(a_bin);
while (a_bin.length() > b_bin.length()) b_bin = "0".concat(b_bin);
for (int i = a_bin.length() - 1; i >= 0; i--) {
a_plus_b_bin = aPlusBBinSingleDigit(a_bin.charAt(i), b_bin.charAt(i), is_move_up).concat(a_plus_b_bin);
is_move_up = isNextMoveUp(a_bin.charAt(i), b_bin.charAt(i), is_move_up);
}
// 1
if (is_move_up) a_plus_b_bin = "1".concat(a_plus_b_bin);
return Integer.parseInt(a_plus_b_bin, 2);
}
// 2ab11
public static String aPlusBBinSingleDigit (char a, char b, boolean is_move_up) {
if ((a == '1') ^ (b == '1') ^ is_move_up)
return "1";
else
return "0";
}
// 2ab1
public static boolean isNextMoveUp(char a, char b, boolean is_move_up) {
int[] bins = {a - '0', b - '0', is_move_up ? 1 : 0};
Arrays.sort(bins);
return bins[1] == 1 && bins[2] == 1;
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0