結果
問題 | No.2393 Bit Grid Connected Component |
ユーザー | InTheBloom |
提出日時 | 2023-07-28 22:01:12 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 248 ms / 2,000 ms |
コード長 | 934 bytes |
コンパイル時間 | 1,667 ms |
コンパイル使用メモリ | 176,032 KB |
実行使用メモリ | 7,808 KB |
最終ジャッジ日時 | 2024-10-06 18:47:47 |
合計ジャッジ時間 | 4,038 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 20 |
ソースコード
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; while (x != 0) { bit[i] = cast(byte) (x % base); x /= base; i++; } /* visualize bit.each!(a => write(a)); write("\n"); */ // yからたどれる一番右に行く while (true) { if (bit[y+1] == 0) { break; } y++; } // 最大高さyであるような連結成分を出力 long res = 0; while (y >= 0) { res += pow(2L, 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)); } }