結果
| 問題 |
No.2323 Nafmo、A+Bをする
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-05-28 13:41:07 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 693 bytes |
| コンパイル時間 | 1,588 ms |
| コンパイル使用メモリ | 172,512 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-22 18:01:36 |
| 合計ジャッジ時間 | 2,514 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
ソースコード
import std;
void main () {
char[] A = readln.split[0].dup;
char[] B = readln.split[0].dup;
A.reverse, B.reverse;
solve(A, B);
}
void solve (char[] A, char[] B) {
char[] C;
immutable minlen = min(A.length, B.length);
foreach (i; 0..minlen) {
if ((A[i] == '1' && B[i] == '1') || (A[i] == '0' && B[i] == '0')) {
C ~= '0';
} else {
C ~= '1';
}
}
if (A.length == minlen) {
C ~= B[minlen..$];
} else {
C ~= A[minlen..$];
}
long ans = 0;
long base = 1;
foreach (x; C) {
if (x == '1') {
ans += base;
}
base *= 2;
}
writeln(ans);
}