WA 40 pts 求助
查看原帖
WA 40 pts 求助
724958
lixuanyan楼主2022/5/22 12:11
#include <bits/stdc++.h>
using namespace std;

#define int unsigned long long
#define maxn 1000005
int n, m, c, k, cnt;
int ani[maxn], num[maxn];
int p[maxn], q[maxn];
bool vis[maxn];

int read() {
    int x = 0, f = 1;
    char ch = getchar();
    while (ch < '0' || ch > '9') { f = (ch == '-' ? -1 : f); ch = getchar(); }
    while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
    return x * f;
}

signed main() {
    cin >> n >> m >> c >> k;    
    for (int i = 1; i <= n; i++) {
        ani[i] = read();
        for (int j = 0; j <= k; j++) 
            if (ani[i] >> j & 1) num[j]++;
    }
    for (int i = 1; i <= m; i++) {
        p[i] = read(), q[i] = read();
        if (num[p[i]]) vis[i] = true;
    }
    for (int i = 1; i <= m; i++) {
        if (vis[i]) continue;
        cnt++;
    }
    cout << (1 << (k - cnt)) - n << endl;
    return 0;
}

开了 unsigned long long

2022/5/22 12:11
加载中...