QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#673396 | #9519. Build a Computer | ucup-team4474# | AC ✓ | 1ms | 4020kb | C++20 | 2.2kb | 2024-10-24 22:08:10 | 2024-10-24 22:08:10 |
Judging History
answer
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<cctype>
#include<vector>
#include<bitset>
#include<random>
#include<ctime>
#include<queue>
#include<cmath>
#include<list>
#include<map>
#include<set>
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define pll pair<long long,long long>
#define FF fflush(stdout)
#define inf 0x3f3f3f3f
#define endl "\n"
#define fi first
#define se second
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
//char buf[1<<20],*p1,*p2;
//#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
int s=0,f=1;
char x=getchar();
while(!isdigit(x))f=(x=='-'?-1:1),x=getchar();
while(isdigit(x))s=s*10+x-'0',x=getchar();
return s*f;
}
const int p=1e9+7;
//ll ksm(int a,int b){ll ans=1,bs=a;while(b){if(b&1)ans=ans*bs%p;bs=bs*bs%p;b>>=1;}return ans;}
mt19937 rd(time(0));
#define reaD read
vector<pii> e[88];
int tot;
int id[22][2][2];
int l,r;
int v0;
int dfs(int d,int a,int b)
{
if(d==-1)
{
if(!v0)v0=++tot;
return v0;
}
if(!id[d][a][b])id[d][a][b]=++tot;
else return id[d][a][b];
int bl=(l>>d)&1;
int br=(r>>d)&1;
int now=id[d][a][b];
int aa=0,bb=0;
if(!(a&&bl))
{
if(a&&!bl)aa=1;
if(b&&!br)bb=1;
e[now].pb(mp(dfs(d-1,aa,bb),0));
}
aa=bb=0;
if(!(b&&!br))
{
if(a&&bl)aa=1;
if(b&&br)bb=1;
e[now].pb(mp(dfs(d-1,aa,bb),1));
}
return now;
}
int main()
{
l=reaD(),r=read();
int bl=31-__builtin_clz(l),br=31-__builtin_clz(r);
// cout<<bl<<" "<<br<<endl;
tot=1;
if(bl==br)
{
e[1].pb(mp(dfs(bl-1,1,1),1));
}
else
{
e[1].pb(mp(dfs(bl-1,1,0),1));
e[1].pb(mp(dfs(br-1,0,1),1));
for(int i=bl+1;i<br;i++)
e[1].pb(mp(dfs(i-1,0,0),1));
}
printf("%d\n",tot);
for(int i=1;i<=tot;i++)
{
printf("%d ",e[i].size());
for(auto o:e[i])
printf("%d %d ",o.fi,o.se);
puts("");
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3956kb
input:
5 7
output:
5 1 2 1 2 3 0 5 1 1 4 1 0 2 4 0 4 1
result:
ok ok
Test #2:
score: 0
Accepted
time: 0ms
memory: 4020kb
input:
10 27
output:
12 2 2 1 8 1 2 3 0 6 1 1 4 1 2 5 0 5 1 0 2 7 0 7 1 2 5 0 5 1 2 9 0 10 1 2 6 0 6 1 1 11 0 2 7 0 12 1 2 5 0 5 1
result:
ok ok
Test #3:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
5 13
output:
9 2 2 1 6 1 2 3 0 5 1 1 4 1 0 2 4 0 4 1 2 7 0 8 1 2 5 0 5 1 1 9 0 2 4 0 4 1
result:
ok ok
Test #4:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
1 1000000
output:
39 20 2 1 3 1 21 1 20 1 19 1 18 1 17 1 16 1 15 1 14 1 13 1 12 1 11 1 10 1 9 1 8 1 7 1 6 1 5 1 4 1 0 2 4 0 22 1 2 5 0 5 1 2 6 0 6 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1 2 13 0 13 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2...
result:
ok ok
Test #5:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
1 1
output:
2 1 2 1 0
result:
ok ok
Test #6:
score: 0
Accepted
time: 0ms
memory: 3880kb
input:
7 9
output:
7 2 2 1 5 1 1 3 1 1 4 1 0 1 6 0 1 7 0 2 4 0 4 1
result:
ok ok
Test #7:
score: 0
Accepted
time: 0ms
memory: 3872kb
input:
3 7
output:
6 2 2 1 4 1 1 3 1 0 2 5 0 6 1 2 3 0 3 1 2 3 0 3 1
result:
ok ok
Test #8:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
1 5
output:
5 3 2 1 3 1 5 1 0 1 4 0 2 2 0 2 1 2 2 0 2 1
result:
ok ok
Test #9:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
1 4
output:
5 3 2 1 3 1 5 1 0 1 4 0 1 2 0 2 2 0 2 1
result:
ok ok
Test #10:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
8 9
output:
5 1 2 1 1 3 0 1 4 0 2 5 0 5 1 0
result:
ok ok
Test #11:
score: 0
Accepted
time: 0ms
memory: 3812kb
input:
7 51
output:
13 4 2 1 5 1 7 1 6 1 1 3 1 1 4 1 0 2 6 0 10 1 2 7 0 7 1 2 8 0 8 1 2 9 0 9 1 2 4 0 4 1 1 11 0 1 12 0 2 9 0 13 1 2 4 0 4 1
result:
ok ok
Test #12:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
51 79
output:
16 2 2 1 11 1 1 3 1 2 4 0 10 1 2 5 0 8 1 1 6 1 1 7 1 0 2 9 0 9 1 2 7 0 7 1 2 8 0 8 1 1 12 0 1 13 0 2 10 0 14 1 2 8 0 15 1 2 9 0 16 1 2 7 0 7 1
result:
ok ok
Test #13:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
92 99
output:
14 1 2 1 2 3 0 10 1 1 4 1 1 5 1 1 6 1 2 7 0 9 1 2 8 0 8 1 0 2 8 0 8 1 1 11 0 1 12 0 1 13 0 2 9 0 14 1 2 8 0 8 1
result:
ok ok
Test #14:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
27 36
output:
13 2 2 1 9 1 1 3 1 2 4 0 7 1 1 5 1 1 6 1 0 2 8 0 8 1 2 6 0 6 1 1 10 0 1 11 0 2 7 0 12 1 1 13 0 1 6 0
result:
ok ok
Test #15:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
55 84
output:
17 2 2 1 11 1 1 3 1 2 4 0 8 1 1 5 1 1 6 1 1 7 1 0 2 9 0 9 1 2 10 0 10 1 2 7 0 7 1 1 12 0 2 13 0 14 1 2 8 0 8 1 1 15 0 2 9 0 16 1 1 17 0 1 7 0
result:
ok ok
Test #16:
score: 0
Accepted
time: 0ms
memory: 3880kb
input:
297208 929600
output:
57 2 2 1 38 1 2 3 0 37 1 2 4 0 35 1 1 5 1 2 6 0 34 1 2 7 0 33 1 2 8 0 31 1 1 9 1 2 10 0 30 1 2 11 0 29 1 2 12 0 23 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 2 18 0 22 1 2 19 0 21 1 2 20 0 20 1 0 2 20 0 20 1 2 21 0 21 1 2 24 0 24 1 2 25 0 25 1 2 26 0 26 1 2 27 0 27 1 2 28 0 28 1 ...
result:
ok ok
Test #17:
score: 0
Accepted
time: 1ms
memory: 3884kb
input:
45728 589156
output:
54 5 2 1 32 1 52 1 53 1 54 1 2 3 0 29 1 1 4 1 1 5 1 2 6 0 28 1 2 7 0 26 1 1 8 1 2 9 0 24 1 1 10 1 2 11 0 22 1 1 12 1 2 13 0 21 1 2 14 0 20 1 2 15 0 19 1 2 16 0 18 1 2 17 0 17 1 0 2 17 0 17 1 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 2 23 0 23 1 2 21 0 21 1 2 25 0 25 1 2 22 0 22 1 ...
result:
ok ok
Test #18:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
129152 138000
output:
47 2 2 1 29 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 2 8 0 28 1 2 9 0 27 1 2 10 0 25 1 1 11 1 2 12 0 24 1 2 13 0 23 1 2 14 0 22 1 2 15 0 21 1 2 16 0 20 1 2 17 0 19 1 2 18 0 18 1 0 2 18 0 18 1 2 19 0 19 1 2 20 0 20 1 2 21 0 21 1 2 22 0 22 1 2 23 0 23 1 2 26 0 26 1 2 24 0 24 1 2 25 0 ...
result:
ok ok
Test #19:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
245280 654141
output:
56 3 2 1 34 1 55 1 1 3 1 1 4 1 2 5 0 28 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 2 11 0 27 1 2 12 0 26 1 2 13 0 24 1 1 14 1 2 15 0 23 1 2 16 0 22 1 2 17 0 21 1 2 18 0 20 1 2 19 0 19 1 0 2 19 0 19 1 2 20 0 20 1 2 21 0 21 1 2 22 0 22 1 2 25 0 25 1 2 23 0 23 1 2 24 0 24 1 2 26 0 26 1 ...
result:
ok ok
Test #20:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
202985 296000
output:
52 2 2 1 35 1 1 3 1 2 4 0 34 1 2 5 0 33 1 2 6 0 30 1 1 7 1 1 8 1 2 9 0 29 1 2 10 0 28 1 2 11 0 24 1 1 12 1 1 13 1 1 14 1 2 15 0 22 1 1 16 1 2 17 0 21 1 2 18 0 20 1 1 19 1 0 2 19 0 19 1 2 20 0 20 1 2 23 0 23 1 2 21 0 21 1 2 25 0 25 1 2 26 0 26 1 2 27 0 27 1 2 22 0 22 1 2 24...
result:
ok ok
Test #21:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
438671 951305
output:
57 2 2 1 37 1 1 3 1 2 4 0 35 1 1 5 1 2 6 0 32 1 1 7 1 1 8 1 2 9 0 31 1 2 10 0 30 1 2 11 0 27 1 1 12 1 1 13 1 2 14 0 26 1 2 15 0 25 1 2 16 0 21 1 1 17 1 1 18 1 1 19 1 1 20 1 0 2 22 0 22 1 2 23 0 23 1 2 24 0 24 1 2 20 0 20 1 2 21 0 21 1 2 25 0 25 1 2 28 0 28 1 2 29 0 29 1 2...
result:
ok ok
Test #22:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
425249 739633
output:
56 2 2 1 37 1 1 3 1 2 4 0 36 1 2 5 0 30 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 2 11 0 28 1 1 12 1 2 13 0 27 1 2 14 0 25 1 1 15 1 2 16 0 24 1 2 17 0 23 1 2 18 0 22 1 2 19 0 21 1 1 20 1 0 2 20 0 20 1 2 21 0 21 1 2 22 0 22 1 2 23 0 23 1 2 26 0 26 1 2 24 0 24 1 2 25 0 25 1 2 29 0 29...
result:
ok ok
Test #23:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
551207 961718
output:
56 1 2 1 2 3 0 39 1 2 4 0 38 1 2 5 0 37 1 2 6 0 34 1 1 7 1 1 8 1 2 9 0 32 1 1 10 1 2 11 0 31 1 2 12 0 29 1 1 13 1 2 14 0 28 1 2 15 0 26 1 1 16 1 2 17 0 25 1 2 18 0 22 1 1 19 1 1 20 1 1 21 1 0 2 23 0 23 1 2 24 0 24 1 2 21 0 21 1 2 22 0 22 1 2 27 0 27 1 2 25 0 25 1 2 26 0 26...
result:
ok ok
Test #24:
score: 0
Accepted
time: 0ms
memory: 4016kb
input:
114691 598186
output:
55 4 2 1 32 1 54 1 55 1 1 3 1 1 4 1 2 5 0 31 1 2 6 0 30 1 2 7 0 29 1 2 8 0 28 1 2 9 0 27 1 2 10 0 26 1 2 11 0 25 1 2 12 0 24 1 2 13 0 23 1 2 14 0 22 1 2 15 0 21 1 2 16 0 19 1 1 17 1 1 18 1 0 2 20 0 20 1 2 18 0 18 1 2 19 0 19 1 2 21 0 21 1 2 22 0 22 1 2 23 0 23 1 2 24 0 24 1 ...
result:
ok ok
Test #25:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
234654 253129
output:
46 1 2 1 1 3 1 1 4 1 2 5 0 33 1 2 6 0 31 1 1 7 1 2 8 0 29 1 1 9 1 2 10 0 28 1 2 11 0 26 1 1 12 1 2 13 0 25 1 2 14 0 20 1 1 15 1 1 16 1 1 17 1 1 18 1 2 19 0 19 1 0 2 21 0 21 1 2 22 0 22 1 2 23 0 23 1 2 24 0 24 1 2 19 0 19 1 2 20 0 20 1 2 27 0 27 1 2 25 0 25 1 2 26 0 26 1 2...
result:
ok ok
Test #26:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
554090 608599
output:
52 1 2 1 1 3 0 1 4 0 2 5 0 37 1 2 6 0 33 1 1 7 1 1 8 1 1 9 1 2 10 0 31 1 1 11 1 2 12 0 30 1 2 13 0 29 1 2 14 0 26 1 1 15 1 1 16 1 2 17 0 24 1 1 18 1 2 19 0 22 1 1 20 1 2 21 0 21 1 0 2 23 0 23 1 2 21 0 21 1 2 25 0 25 1 2 22 0 22 1 2 27 0 27 1 2 28 0 28 1 2 24 0 24 1 2 26 0...
result:
ok ok
Extra Test:
score: 0
Extra Test Passed