QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#423238 | #8174. Set Construction | cqbzly | WA | 0ms | 3588kb | C++14 | 909b | 2024-05-27 21:47:56 | 2024-05-27 21:47:57 |
Judging History
answer
#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define inf 0x3f3f3f3f
#define vi vector<ll>
using namespace std;
int T,n,m;
vector<ll>num;
void sol1(int x){
assert(x>=0);
ll y=0;
for(int i=x;i<n;i++)y+=1ll<<i;
num.pb(y);
}
void sol2(int x){
assert(x>=0);
int sz=num.size();
for(int i=0;i<sz;i++){
num.pb(num[i]+(1ll<<x));
}
}
int main(){
//freopen("data.in","r",stdin);
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>T;
while(T--){
cin>>n>>m;
vector<int>v;
int tmp=m;
while(tmp)v.pb(tmp&1),tmp>>=1;
reverse(v.begin(),v.end());
num.clear(),num.pb(0),num.pb(1<<n-1);
int lim=n-2;
if(v[1])sol1(lim--);
for(int i=2;i<v.size();i++){
sol2(lim--);
if(v[i])sol1(lim--);
}
num.back()=(1ll<<n)-1;
for(auto e:num)cout<<e<<" ";
cout<<"\n";
}
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3588kb
input:
3 3 5 4 8 60 2
output:
0 4 2 6 7 0 8 4 12 2 10 6 15 0 1152921504606846975
result:
wrong answer (2 OR 12) is not in A