結果
問題 | No.2393 Bit Grid Connected Component |
ユーザー |
|
提出日時 | 2023-07-31 16:56:41 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 225 ms / 2,000 ms |
コード長 | 1,831 bytes |
コンパイル時間 | 1,894 ms |
コンパイル使用メモリ | 175,664 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-10 10:14:57 |
合計ジャッジ時間 | 3,363 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 20 |
ソースコード
#include<bits/stdc++.h>#define rep(i, n) for(ll i = 0; i < ll(n); i++)#define nrep(i, n) for(ll i = 1; i < ll(n + 1); i++)#define rrep(i, n) for(ll i = ll(n) - 1; i >= 0; i--)#define all(x) (x).begin(), (x).end()#define SIZE 2e5#define INF 2e18constexpr long long MOD = 1e9 + 7;using namespace std;typedef long long ll;typedef vector<int> iv;typedef vector<ll> lv;typedef vector<bool> bv;typedef pair<ll, ll> ip;typedef vector<ip> pv;typedef vector<iv> ivv;typedef set<int> ist;typedef set<ll> lst;typedef map<int, int> imp;typedef map<ll, ll> lmp;ll gcd(ll a, ll b) {return b ? gcd(b, a % b) : a;}ll lcm(ll a, ll b) {return a / gcd(a, b) * b;}ll digsum(ll n) {ll res = 0;while (n > 0) {res += n % 10;n /= 10;}return res;}ll pow(ll x, ll n) {ll ans = 1;while (n) {if (n % 2) ans *= x;x *= x;n >>= 1;}return ans;}map<ll, ll> numeric_component(ll N) {map<ll, ll> res;for (ll i = 2; i * i <= N; i++) {if (N % i != 0) continue;while (N % i == 0) {res[i]++;N /= i;}}if (N != 1) res[N]++;return res;}iv dx = {-1, 0, 1, 0};iv dy = {0, -1, 0, 1};struct edge {int from, to, length;};void print(iv &a) {for (auto v : a) cout << v << ' ';cout << endl;}bool isblack(ll x, ll y) {return x & (1LL << y);}int main() {int T; cin >> T;// cout << isblack(2, 0) << endl;while(T--) {ll x, y; cin >> x >> y;if(!isblack(x, y)){cout << 0 << endl;continue;}while(isblack(x, y+1)){y++;// cout << y << endl;}// cout << y << ':' << endl;cout << (1LL << (y + 1LL)) - 1LL << endl;}}