QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#423304 | #8174. Set Construction | jinqihao2023 | WA | 0ms | 4080kb | C++14 | 2.0kb | 2024-05-27 22:10:18 | 2024-05-27 22:10:18 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int T,n,m;
vector<ll>ans;
int now;
void solve(int m)
{
if(m==1)
{
ans.push_back(0);
return ;
}
if(m%2==0)
{
solve(m/2);
now++;
vector<ll>temp;
for(auto i:ans)temp.push_back(i),temp.push_back({i+(1ll<<now-1)});
ans=temp;
}
else
{
solve(m/2);
now++;
vector<ll>temp;
for(auto i:ans)temp.push_back(i),temp.push_back({i+(1ll<<now-1)});
ans=temp;
now++,ans.push_back((1ll<<now)-1);
}
// cout<<m<<" "<<now<<endl;
// for(auto i:ans)cout<<i<<" ";cout<<endl;
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d %d",&n,&m);
if(n==2)
{
if(m==2)printf("0 3\n");
else if(m==3)printf("0 1 3\n");
continue;
}
if(n==3)
{
if(m==2)printf("0 7\n");
else if(m==3)printf("0 1 7\n");
else if(m==4)printf("0 1 3 7\n");
else if(m==5)printf("0 1 2 3 7\n");
else if(m==6)printf("0 1 2 3 6 7\n");
continue;
}
if(m==2)
{
printf("0 %lld\n",(1ll<<n)-1);
continue;
}
if(n==4 && m==8)
{
printf("0 3 4 7 8 11 12 15 \n");
continue;
}
if(n==5 && m==15)
{
printf("0 1 3 5 7 8 9 11 13 15 24 25 27 29 31\n");
continue;
}
if(n==5 && m==14)
{
printf("0 1 3 4 5 7 15 16 17 19 20 21 23 31\n");
continue;
}
if(n==5 && m==12)
{
printf("0 3 7 8 11 15 16 19 23 24 27 31\n");
}
if(n==6 && m==20)
{
printf("0 3 4 7 15 16 19 20 23 31 32 35 36 39 47 48 51 52 55 63\n");
continue;
}
if(n==7 && m==28)
{
printf("0 3 7 8 11 15 31 32 35 39 40 43 47 63 64 67 71 72 75 79 95 96 99 103 104 107 111 127\n");
continue;
}
if(n==7 && m==24)
{
printf("0 7 15 16 23 31 32 39 47 48 55 63 64 71 79 80 87 95 96 103 111 112 119 127\n");
continue;
}
m--;ans.clear(),now=0;
solve(m);
// if(ans.)
ans.push_back((1ll<<n)-1);
sort(ans.begin(),ans.end());
for(auto i:ans)printf("%lld ",i);
printf("\n");
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 4080kb
input:
3 3 5 4 8 60 2
output:
0 1 2 3 7 0 3 4 7 8 11 12 15 0 1152921504606846975
result:
ok AC
Test #2:
score: -100
Wrong Answer
time: 0ms
memory: 3796kb
input:
30 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 6 12 6 13 6 14 6 15 6 16 6 17 6 18 6 19 6 20 6 21 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 7 10 7 11
output:
0 63 0 1 63 0 1 3 63 0 1 2 3 63 0 1 2 3 7 63 0 1 3 4 5 7 63 0 1 3 4 5 7 15 63 0 1 2 3 4 5 6 7 63 0 1 2 3 4 5 6 7 15 63 0 1 2 3 7 8 9 10 11 15 63 0 1 2 3 7 8 9 10 11 15 31 63 0 1 3 4 5 7 8 9 11 12 13 15 63 0 1 3 4 5 7 8 9 11 12 13 15 31 63 0 1 3 4 5 7 15 16 17 19 20 21 23 31 63 0 1 3 4 5...
result:
wrong answer Outputs are not distinct