結果
| 問題 |
No.2393 Bit Grid Connected Component
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-07-28 21:56:45 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 936 bytes |
| コンパイル時間 | 3,545 ms |
| コンパイル使用メモリ | 172,828 KB |
| 実行使用メモリ | 7,844 KB |
| 最終ジャッジ日時 | 2024-10-06 18:38:56 |
| 合計ジャッジ時間 | 5,238 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 13 WA * 7 |
ソースコード
import std;
void main () {
int T = readln.chomp.to!int;
foreach (_; 0..T) {
long x;
int y;
readln.read(x, y);
solve(x, y);
}
}
void solve (long x, int y) {
byte[64] bit;
bit[] = 0;
// x を2進数変換
int i = 0;
long base = 2;
do {
bit[i] = cast(byte) (x % base);
x /= base;
i++;
} while (x != 0);
/* visualize
bit.each!(a => write(a));
write("\n");
*/
// yからたどれる一番右に行く
while (true) {
if (bit[y+1] == 0) {
break;
}
y++;
}
// 最大高さyであるような連結成分を出力
int res = 0;
while (y >= 0) {
res += pow(2, y);
y--;
}
// output
writeln(res);
}
void read(T...)(string S, ref T args) {
auto buf = S.split;
foreach (i, ref arg; args) {
arg = buf[i].to!(typeof(arg));
}
}