QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#790180 | #9519. Build a Computer | CSQ | AC ✓ | 10ms | 7460kb | C++20 | 2.7kb | 2024-11-28 04:15:36 | 2024-11-28 04:15:37 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define sz(a) (int)(a.size())
typedef long long int ll;
vector<array<int,2>>adj[101],g[101];
int lab[101],deg[101];
int cc = 0;
int vis[1000001];
vector<int>app;
int l,r;
void dfs(int v,int cur){
if(g[v].empty()){
vis[cur]++;
if(vis[cur] > 1)app.push_back(cur);
assert(cur >=l && cur <= r);
assert(vis[cur] == 1);
cc++;
}
for(auto [x,c]:g[v]){
dfs(x,2*cur+c);
}
}
int main()
{
//freopen("output","w",stdout);
cin>>l>>r;
int st = 2;
int cnt = 2;
int f = -1;
for(int i=21;i>=0;i--){
if((r&(1<<i)) != (l&(1<<i))){
f = i;
break;
}
}
bool over = 0;
int cur = st;
for(int j=21;j>=0;j--){
int cl = (l&(1<<j)) > 0;
if(cl)over = 1;
if(over)adj[cur].push_back({++cnt,cl});
if(f > j && !cl)adj[cur].push_back({100-j,1});
if(over)cur = cnt;
}
if(l != r){
bool over = 0;
int cur = st;
for(int j=21;j>=0;j--){
int cr = (r&(1<<j)) > 0;
if(cr)over = 1;
if(over)adj[cur].push_back({++cnt,cr});
if(f > j && cr)adj[cur].push_back({100-j,0});
if(over)cur = cnt;
}
}
//cout<<cnt<<" ";
int mx = -1;
for(int v=1;v<=cnt;v++){
for(auto &[x,c]:adj[v]){
if(x > 75)mx = max(mx,100-x);
}
}
//cout<<cnt<<" "<<mx<<'\n';
for(int i=0;i<=mx;i++){
lab[i] = ++cnt;
}
for(int i=0;i<mx;i++){
adj[lab[i+1]].push_back({lab[i],0});
adj[lab[i+1]].push_back({lab[i],1});
}
for(int v=1;v<=cnt;v++){
for(auto &[x,c]:adj[v]){
if(x > 75)x = lab[100-x];
}
}
for(int v=1;v<=cnt;v++){
for(auto &[x,c]:adj[v]){
if(sz(adj[x]) == 0)x = 1;
}
}
vector<int>d(cnt+1,0);
for(int v=1;v<=cnt;v++){
for(auto &[x,c]:adj[v]){
d[v]++;
d[x]++;
}
}
vector<int>crd;
for(int i=1;i<=cnt;i++){
if(!d[i])continue;
crd.push_back(i);
}
cout<<sz(crd)<<'\n';
for(int i=0;i<sz(crd);i++){
cout<<sz(adj[crd[i]]);
for(auto &[x,y]:adj[crd[i]]){
int a = lower_bound(crd.begin(),crd.end(),x) - crd.begin()+1;
g[i+1].push_back({a,y});
cout<<" "<<a<<" "<<y;
}
cout<<'\n';
}
dfs(2,0);
// cout<<'\n';
//cout<<cc<<'\n';
//cout<<sz(app)<<'\n';
//for(int x:app)cout<<x<<'\n';
}
//11110100001001000000
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3612kb
input:
5 7
output:
6 0 2 3 1 5 1 1 4 0 1 1 1 1 6 1 2 1 1 1 0
result:
ok ok
Test #2:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
10 27
output:
12 0 2 3 1 6 1 2 4 0 11 1 1 5 1 2 1 0 1 1 2 7 1 12 0 1 8 0 2 9 1 10 0 2 1 1 1 0 2 1 0 1 1 2 10 0 10 1 2 11 0 11 1
result:
ok ok
Test #3:
score: 0
Accepted
time: 0ms
memory: 3852kb
input:
5 13
output:
9 0 2 3 1 5 1 2 4 0 8 1 1 1 1 2 6 1 9 0 1 7 0 2 1 1 1 0 2 1 0 1 1 2 8 0 8 1
result:
ok ok
Test #4:
score: 0
Accepted
time: 10ms
memory: 7460kb
input:
1 1000000
output:
39 0 20 39 1 38 1 37 1 36 1 35 1 34 1 33 1 32 1 31 1 30 1 29 1 28 1 27 1 26 1 25 1 24 1 23 1 22 1 1 1 3 1 2 4 1 39 0 2 5 1 38 0 2 6 1 37 0 1 7 0 2 8 1 35 0 1 9 0 1 10 0 1 11 0 1 12 0 2 13 1 30 0 1 14 0 1 15 0 2 16 1 27 0 1 17 0 1 18 0 1 19 0 1 20 0 1 21 0 1 1 0 2 1 0 1 1 2 22 0 22 1 2 23 0 23 1 2 24...
result:
ok ok
Test #5:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
1 1
output:
2 0 1 1 1
result:
ok ok
Test #6:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
7 9
output:
7 0 2 3 1 5 1 1 4 1 1 1 1 1 6 0 1 7 0 2 1 1 1 0
result:
ok ok
Test #7:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
3 7
output:
6 0 2 3 1 4 1 1 1 1 2 5 1 6 0 2 1 1 1 0 2 1 0 1 1
result:
ok ok
Test #8:
score: 0
Accepted
time: 0ms
memory: 3552kb
input:
1 5
output:
5 0 3 5 1 1 1 3 1 1 4 0 2 1 1 1 0 2 1 0 1 1
result:
ok ok
Test #9:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
1 4
output:
5 0 3 5 1 1 1 3 1 1 4 0 1 1 0 2 1 0 1 1
result:
ok ok
Test #10:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
8 9
output:
8 0 2 3 1 6 1 1 4 0 1 5 0 1 1 0 1 7 0 1 8 0 1 1 1
result:
ok ok
Test #11:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
7 51
output:
13 0 4 13 1 12 1 3 1 5 1 1 4 1 1 1 1 2 6 1 13 0 1 7 0 1 8 0 2 9 1 10 0 2 1 1 1 0 2 1 0 1 1 2 10 0 10 1 2 11 0 11 1 2 12 0 12 1
result:
ok ok
Test #12:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
51 79
output:
16 0 2 3 1 8 1 1 4 1 2 5 0 16 1 2 6 0 15 1 1 7 1 1 1 1 1 9 0 1 10 0 2 11 1 16 0 2 12 1 15 0 2 13 1 14 0 2 1 1 1 0 2 1 0 1 1 2 14 0 14 1 2 15 0 15 1
result:
ok ok
Test #13:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
92 99
output:
15 0 2 3 1 9 1 1 4 0 1 5 1 1 6 1 1 7 1 2 8 0 15 1 2 1 0 1 1 1 10 1 1 11 0 1 12 0 1 13 0 2 14 1 15 0 2 1 1 1 0 2 1 0 1 1
result:
ok ok
Test #14:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
27 36
output:
13 0 2 3 1 7 1 1 4 1 2 5 0 13 1 1 6 1 1 1 1 1 8 0 1 9 0 2 10 1 13 0 1 11 0 1 1 0 2 1 0 1 1 2 12 0 12 1
result:
ok ok
Test #15:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
55 84
output:
17 0 2 3 1 8 1 1 4 1 2 5 0 16 1 1 6 1 1 7 1 1 1 1 1 9 0 2 10 1 17 0 1 11 0 2 12 1 15 0 1 13 0 1 1 0 2 1 0 1 1 2 14 0 14 1 2 15 0 15 1 2 16 0 16 1
result:
ok ok
Test #16:
score: 0
Accepted
time: 3ms
memory: 6060kb
input:
297208 929600
output:
57 0 2 3 1 21 1 2 4 0 56 1 2 5 0 55 1 1 6 1 2 7 0 53 1 2 8 0 52 1 2 9 0 51 1 1 10 1 2 11 0 49 1 2 12 0 48 1 2 13 0 47 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 2 19 0 41 1 2 20 0 40 1 2 1 0 1 1 2 22 1 57 0 2 23 1 56 0 1 24 0 1 25 0 1 26 0 2 27 1 52 0 1 28 0 2 29 1 50 0 2 30 1 49 0 2 31 1 48 0 2 32 1 47 0...
result:
ok ok
Test #17:
score: 0
Accepted
time: 0ms
memory: 5688kb
input:
45728 589156
output:
54 0 5 54 1 53 1 52 1 3 1 18 1 2 4 0 50 1 1 5 1 1 6 1 2 7 0 47 1 2 8 0 46 1 1 9 1 2 10 0 44 1 1 11 1 2 12 0 42 1 1 13 1 2 14 0 40 1 2 15 0 39 1 2 16 0 38 1 2 17 0 37 1 2 1 0 1 1 1 19 0 1 20 0 1 21 0 2 22 1 51 0 2 23 1 50 0 2 24 1 49 0 2 25 1 48 0 2 26 1 47 0 2 27 1 46 0 1 28 0 2 29 1 44 0 1 30 0 2 3...
result:
ok ok
Test #18:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
129152 138000
output:
47 0 2 3 1 19 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 2 9 0 45 1 2 10 0 44 1 2 11 0 43 1 1 12 1 2 13 0 41 1 2 14 0 40 1 2 15 0 39 1 2 16 0 38 1 2 17 0 37 1 2 18 0 36 1 2 1 0 1 1 1 20 0 1 21 0 1 22 0 1 23 0 2 24 1 47 0 2 25 1 46 0 1 26 0 2 27 1 44 0 2 28 1 43 0 1 29 0 1 30 0 1 31 0 2 32 1 39 0 1 33 0 1 34 0 ...
result:
ok ok
Test #19:
score: 0
Accepted
time: 0ms
memory: 5412kb
input:
245280 654141
output:
56 0 3 56 1 3 1 20 1 1 4 1 1 5 1 2 6 0 52 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 2 12 0 46 1 2 13 0 45 1 2 14 0 44 1 1 15 1 2 16 0 42 1 2 17 0 41 1 2 18 0 40 1 2 19 0 39 1 2 1 0 1 1 1 21 0 1 22 0 2 23 1 54 0 2 24 1 53 0 2 25 1 52 0 2 26 1 51 0 2 27 1 50 0 2 28 1 49 0 1 29 0 2 30 1 47 0 2 31 1 46 0 1 32 0...
result:
ok ok
Test #20:
score: 0
Accepted
time: 1ms
memory: 3952kb
input:
202985 296000
output:
52 0 2 3 1 20 1 1 4 1 2 5 0 52 1 2 6 0 51 1 2 7 0 50 1 1 8 1 1 9 1 2 10 0 47 1 2 11 0 46 1 2 12 0 45 1 1 13 1 1 14 1 1 15 1 2 16 0 41 1 1 17 1 2 18 0 39 1 2 19 0 38 1 1 1 1 1 21 0 1 22 0 2 23 1 52 0 1 24 0 1 25 0 1 26 0 1 27 0 2 28 1 47 0 1 29 0 1 30 0 1 31 0 2 32 1 43 0 1 33 0 1 34 0 1 35 0 1 36 0 ...
result:
ok ok
Test #21:
score: 0
Accepted
time: 5ms
memory: 5572kb
input:
438671 951305
output:
57 0 2 3 1 21 1 1 4 1 2 5 0 55 1 1 6 1 2 7 0 53 1 1 8 1 1 9 1 2 10 0 50 1 2 11 0 49 1 2 12 0 48 1 1 13 1 1 14 1 2 15 0 45 1 2 16 0 44 1 2 17 0 43 1 1 18 1 1 19 1 1 20 1 1 1 1 2 22 1 57 0 2 23 1 56 0 1 24 0 2 25 1 54 0 1 26 0 1 27 0 1 28 0 1 29 0 2 30 1 49 0 1 31 0 1 32 0 1 33 0 1 34 0 1 35 0 1 36 0 ...
result:
ok ok
Test #22:
score: 0
Accepted
time: 3ms
memory: 5004kb
input:
425249 739633
output:
56 0 2 3 1 21 1 1 4 1 2 5 0 55 1 2 6 0 54 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 2 12 0 48 1 1 13 1 2 14 0 46 1 2 15 0 45 1 1 16 1 2 17 0 43 1 2 18 0 42 1 2 19 0 41 1 2 20 0 40 1 1 1 1 1 22 0 2 23 1 56 0 2 24 1 55 0 1 25 0 2 26 1 53 0 1 27 0 1 28 0 2 29 1 50 0 1 30 0 1 31 0 2 32 1 47 0 1 33 0 1 34 0 2 35...
result:
ok ok
Test #23:
score: 0
Accepted
time: 4ms
memory: 5160kb
input:
551207 961718
output:
57 0 2 3 1 22 1 1 4 0 2 5 0 57 1 2 6 0 56 1 2 7 0 55 1 1 8 1 1 9 1 2 10 0 52 1 1 11 1 2 12 0 50 1 2 13 0 49 1 1 14 1 2 15 0 47 1 2 16 0 46 1 1 17 1 2 18 0 44 1 2 19 0 43 1 1 20 1 1 21 1 1 1 1 1 23 1 2 24 1 57 0 1 25 0 2 26 1 55 0 1 27 0 2 28 1 53 0 1 29 0 2 30 1 51 0 2 31 1 50 0 1 32 0 1 33 0 2 34 1...
result:
ok ok
Test #24:
score: 0
Accepted
time: 5ms
memory: 5512kb
input:
114691 598186
output:
55 0 4 55 1 54 1 3 1 19 1 1 4 1 1 5 1 2 6 0 50 1 2 7 0 49 1 2 8 0 48 1 2 9 0 47 1 2 10 0 46 1 2 11 0 45 1 2 12 0 44 1 2 13 0 43 1 2 14 0 42 1 2 15 0 41 1 2 16 0 40 1 2 17 0 39 1 1 18 1 1 1 1 1 20 0 1 21 0 2 22 1 53 0 1 23 0 1 24 0 2 25 1 50 0 1 26 0 1 27 0 1 28 0 1 29 0 1 30 0 2 31 1 44 0 1 32 0 2 3...
result:
ok ok
Test #25:
score: 0
Accepted
time: 1ms
memory: 3728kb
input:
234654 253129
output:
49 0 2 3 1 20 1 1 4 1 1 5 1 1 6 0 2 7 0 49 1 1 8 1 2 9 0 47 1 1 10 1 2 11 0 45 1 2 12 0 44 1 1 13 1 2 14 0 42 1 2 15 0 41 1 1 16 1 1 17 1 1 18 1 1 19 1 2 1 0 1 1 1 21 1 1 22 1 1 23 1 1 24 0 2 25 1 48 0 2 26 1 47 0 2 27 1 46 0 1 28 0 1 29 0 2 30 1 43 0 2 31 1 42 0 1 32 0 1 33 0 2 34 1 39 0 1 35 0 1 3...
result:
ok ok
Test #26:
score: 0
Accepted
time: 1ms
memory: 3992kb
input:
554090 608599
output:
55 0 2 3 1 22 1 1 4 0 1 5 0 1 6 0 2 7 0 55 1 1 8 1 1 9 1 1 10 1 2 11 0 51 1 1 12 1 2 13 0 49 1 2 14 0 48 1 2 15 0 47 1 1 16 1 1 17 1 2 18 0 44 1 1 19 1 2 20 0 42 1 1 21 1 2 1 0 1 1 1 23 0 1 24 0 1 25 1 1 26 0 2 27 1 54 0 1 28 0 1 29 0 2 30 1 51 0 1 31 0 1 32 0 2 33 1 48 0 1 34 0 2 35 1 46 0 1 36 0 2...
result:
ok ok
Extra Test:
score: 0
Extra Test Passed