QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#100711 | #6319. Parallel Processing (Easy) | SolitaryDream# | AC ✓ | 275ms | 34284kb | C++20 | 2.7kb | 2023-04-27 18:03:58 | 2023-04-27 18:04:59 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define FOR(i,s,t) for(int i=(s),_t=(t); i<=_t; ++i)
#define DOR(i,s,t) for(int i=(s),_t=(t); i>=_t; --i)
typedef long long ll;
const int Mod=7000009;
bool mark[Mod];
int Hash(const vector<int> &v) {
int w=0;
for(auto x: v) w=(w*233+x)%Mod;
return w;
}
struct node {
int a,b;
};
struct state {
vector<int> lp;
vector<vector<node>> ans;
};
void print(vector<vector<node>> ans) {
cout << ans.size() << '\n';
for(auto s: ans) {
FOR(i,0,3) {
int j=min(i,(int)s.size()-1);
cout << s[j].b << ' ' << s[j].a << ' ' << s[j].b << '\n';
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
if(n<=9)
{
state q;
q.lp={0};
FOR(i,1,n) q.lp.push_back(i);
vector<vector<int>> f;
FOR(i,2,n) FOR(j,i+1,n) FOR(k,j+1,n) FOR(h,k+1,n) f.push_back({i,j,k,h});
FOR(i,2,n) FOR(j,i+1,n) FOR(k,j+1,n) f.push_back({i,j,k});
FOR(i,2,n) FOR(j,i+1,n) f.push_back({i,j});
FOR(i,2,n) f.push_back({i});
queue<state> Q;
mark[Hash(q.lp)]=1;
Q.push(q);
while(!Q.empty()) {
q=Q.front(),Q.pop();
for(auto v: f) {
state nq=q;
vector<node> op;
int w=1;
for(auto x: v) {
if(q.lp[x]>1) {
nq.lp[x]=q.lp[q.lp[x]-1];
op.push_back({q.lp[x]-1,x});
} else {
w=0;
break;
}
}
if(!w) continue;
w=1;
FOR(i,1,n) if(nq.lp[i]!=1) {w=0;break;}
nq.ans.push_back(op);
if(w) {
print(nq.ans);
return 0;
}
if(mark[Hash(nq.lp)]) continue;
mark[Hash(nq.lp)]=1;
Q.push(nq);
}
}
}
else if(n<=11)
{
printf("4\n2 1 2\n4 3 4\n6 5 6\n8 7 8\n3 2 3\n4 2 4\n8 6 8\n10 9 10\n5 4 5\n6 4 6\n8 4 8\n11 10 11\n7 6 7\n9 8 9\n10 8 10\n11 8 11\n");
}
else if(n<=13)
{
printf("5\n2 1 2\n5 4 5\n8 7 8\n11 10 11\n3 2 3\n6 5 6\n9 8 9\n12 11 12\n5 3 5\n6 3 6\n8 6 8\n12 9 12\n4 3 4\n7 6 7\n9 6 9\n12 6 12\n8 3 8\n10 9 10\n11 9 11\n13 12 13\n");
}
else
{
printf("6\n2 1 2\n4 3 4\n6 5 6\n9 8 9\n4 2 4\n7 6 7\n10 9 10\n15 14 15\n5 4 5\n7 4 7\n11 10 11\n16 15 16\n9 7 9\n10 7 10\n11 7 11\n13 12 13\n3 2 3\n6 4 6\n12 11 12\n13 11 13\n8 7 8\n14 13 14\n15 13 15\n16 13 16\n");
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3312kb
input:
2
output:
1 2 1 2 2 1 2 2 1 2 2 1 2
result:
ok AC
Test #2:
score: 0
Accepted
time: 2ms
memory: 3296kb
input:
4
output:
2 2 1 2 3 2 3 4 3 4 4 3 4 3 1 3 4 2 4 4 2 4 4 2 4
result:
ok AC
Test #3:
score: 0
Accepted
time: 2ms
memory: 3372kb
input:
3
output:
2 2 1 2 3 2 3 3 2 3 3 2 3 3 1 3 3 1 3 3 1 3 3 1 3
result:
ok AC
Test #4:
score: 0
Accepted
time: 0ms
memory: 5380kb
input:
5
output:
3 2 1 2 3 2 3 4 3 4 5 4 5 3 1 3 4 2 4 5 3 5 5 3 5 5 1 5 5 1 5 5 1 5 5 1 5
result:
ok AC
Test #5:
score: 0
Accepted
time: 0ms
memory: 5480kb
input:
6
output:
3 2 1 2 3 2 3 4 3 4 5 4 5 3 1 3 4 2 4 5 3 5 6 5 6 5 1 5 6 3 6 6 3 6 6 3 6
result:
ok AC
Test #6:
score: 0
Accepted
time: 0ms
memory: 5872kb
input:
7
output:
3 2 1 2 3 2 3 4 3 4 6 5 6 3 1 3 4 2 4 5 4 5 7 6 7 5 2 5 6 4 6 7 4 7 7 4 7
result:
ok AC
Test #7:
score: 0
Accepted
time: 16ms
memory: 8188kb
input:
8
output:
3 2 1 2 4 3 4 6 5 6 8 7 8 3 2 3 4 2 4 7 6 7 8 6 8 5 4 5 6 4 6 7 4 7 8 4 8
result:
ok AC
Test #8:
score: 0
Accepted
time: 275ms
memory: 34284kb
input:
9
output:
4 2 1 2 3 2 3 4 3 4 5 4 5 3 1 3 4 2 4 6 5 6 8 7 8 5 3 5 6 3 6 7 6 7 9 8 9 7 3 7 8 6 8 9 6 9 9 6 9
result:
ok AC
Test #9:
score: 0
Accepted
time: 2ms
memory: 3372kb
input:
10
output:
4 2 1 2 4 3 4 6 5 6 8 7 8 3 2 3 4 2 4 8 6 8 10 9 10 5 4 5 6 4 6 8 4 8 11 10 11 7 6 7 9 8 9 10 8 10 11 8 11
result:
ok AC
Test #10:
score: 0
Accepted
time: 1ms
memory: 3360kb
input:
11
output:
4 2 1 2 4 3 4 6 5 6 8 7 8 3 2 3 4 2 4 8 6 8 10 9 10 5 4 5 6 4 6 8 4 8 11 10 11 7 6 7 9 8 9 10 8 10 11 8 11
result:
ok AC
Test #11:
score: 0
Accepted
time: 0ms
memory: 3496kb
input:
12
output:
5 2 1 2 5 4 5 8 7 8 11 10 11 3 2 3 6 5 6 9 8 9 12 11 12 5 3 5 6 3 6 8 6 8 12 9 12 4 3 4 7 6 7 9 6 9 12 6 12 8 3 8 10 9 10 11 9 11 13 12 13
result:
ok AC
Test #12:
score: 0
Accepted
time: 2ms
memory: 3452kb
input:
13
output:
5 2 1 2 5 4 5 8 7 8 11 10 11 3 2 3 6 5 6 9 8 9 12 11 12 5 3 5 6 3 6 8 6 8 12 9 12 4 3 4 7 6 7 9 6 9 12 6 12 8 3 8 10 9 10 11 9 11 13 12 13
result:
ok AC
Test #13:
score: 0
Accepted
time: 2ms
memory: 3372kb
input:
14
output:
6 2 1 2 4 3 4 6 5 6 9 8 9 4 2 4 7 6 7 10 9 10 15 14 15 5 4 5 7 4 7 11 10 11 16 15 16 9 7 9 10 7 10 11 7 11 13 12 13 3 2 3 6 4 6 12 11 12 13 11 13 8 7 8 14 13 14 15 13 15 16 13 16
result:
ok AC
Test #14:
score: 0
Accepted
time: 2ms
memory: 3344kb
input:
15
output:
6 2 1 2 4 3 4 6 5 6 9 8 9 4 2 4 7 6 7 10 9 10 15 14 15 5 4 5 7 4 7 11 10 11 16 15 16 9 7 9 10 7 10 11 7 11 13 12 13 3 2 3 6 4 6 12 11 12 13 11 13 8 7 8 14 13 14 15 13 15 16 13 16
result:
ok AC
Test #15:
score: 0
Accepted
time: 0ms
memory: 3384kb
input:
16
output:
6 2 1 2 4 3 4 6 5 6 9 8 9 4 2 4 7 6 7 10 9 10 15 14 15 5 4 5 7 4 7 11 10 11 16 15 16 9 7 9 10 7 10 11 7 11 13 12 13 3 2 3 6 4 6 12 11 12 13 11 13 8 7 8 14 13 14 15 13 15 16 13 16
result:
ok AC