社区讨论
95 求助
P7076[CSP-S 2020] 动物园参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo8stcqy
- 此快照首次捕获于
- 2023/10/27 23:59 2 年前
- 此快照最后确认于
- 2023/10/27 23:59 2 年前
WA #15
CPP#include <bits/stdc++.h>
using namespace std;
vector<int> p,q;
unsigned long long ans;
unsigned long long n,m,c,k,x,sum,y,cnt,buf,vis[70];
void trans(unsigned long long a)
{
q.push_back(a % 2);
if(a / 2 == 0) return;
trans(a/2);
}
int main()
{
freopen("example.in","r",stdin);
freopen("example.out","w",stdout);
cin >> n >> m >> c >> k;
for(int i = 0;i < 100;i++) p.push_back(0);
for(int i = 0;i < n;i++) cin >> x,sum |= x;
for(int i = 0;i < m;i++)
{
cin >> x >> y,p[x] = 1;
if(!vis[x]) cnt++;
vis[x] = 1;
}
trans(sum);
int i = 0;
while(i < p.size() && i < q.size())
{
if(p[i] == 1 && q[i] == 1) buf++;
i++;
}
ans = pow(2,k-cnt+buf) - n;
if(k == 64 && !n) cout << "18446744073709551616\n";
else cout << ans << '\n';
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...