QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#97675 | #6319. Parallel Processing (Easy) | whatever# | WA | 2ms | 3344kb | C++14 | 2.0kb | 2023-04-17 21:16:48 | 2023-04-17 21:16:51 |
Judging History
answer
#include <bits/stdc++.h>
#define int long long
#define mod 998244353
using namespace std;
vector<vector<vector<int> > > ans;
bitset<2005> s[2005];
void op(vector<vector<int> > v)
{
bitset<2005> A,B,C,D;
A=(s[v[0][1]]^s[v[0][2]]);
B=(s[v[1][1]]^s[v[1][2]]);
C=(s[v[2][1]]^s[v[2][2]]);
D=(s[v[3][1]]^s[v[3][2]]);
s[v[0][0]]=A;
s[v[1][0]]=B;
s[v[2][0]]=C;
s[v[3][0]]=D;
ans.push_back(v);
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
for(int i=1;i<=n;i++) s[i][i]=1;
if(n<=2)
{
op({{2,1,2},{2001,2001,2001},{2001,2001,2001},{2001,2001,2001}});
}
else if(n<=4)
{
op({{2,1,2},{4,3,4},{2001,2001,2001},{2001,2001,2001}});
op({{3,2,3},{4,2,4},{2001,2001,2001},{2001,2001,2001}});
}
else if(n<=8)
{
op({{2,1,2},{4,3,4},{6,5,6},{8,7,8}});
op({{3,2,3},{4,2,4},{7,6,7},{8,6,8}});
op({{5,4,5},{6,4,6},{7,4,7},{8,4,8}});
}
else if(n<=11)
{
op({{2,1,2},{4,3,4},{6,5,6},{8,7,8}});
op({{3,2,3},{4,2,4},{8,6,8},{10,9,10}});
op({{5,4,5},{6,4,6},{8,4,8},{11,10,11}});
op({{7,6,7},{9,8,9},{10,8,10},{11,8,11}});
}
else if(n<=13)
{
op({{2,1,2},{4,3,4},{6,5,6},{8,7,8}});
op({{3,2,3},{4,2,4},{8,6,8},{10,9,10}});
op({{5,4,5},{6,4,6},{8,4,8},{11,10,11}});
op({{7,6,7},{13,12,13},{10,8,10},{11,8,11}});
op({{12,11,12},{9,8,9},{13,11,13},{2001,2001,2001}});
}
else if(n<=16)
{
op({{2,1,2},{4,3,4},{6,5,6},{8,7,8}});
op({{4,2,4},{8,6,8},{12,11,12},{10,9,10}});
op({{6,4,6},{8,4,8},{14,13,14},{16,15,16}});
op({{3,2,3},{5,4,5},{10,8,10},{14,12,14}});
op({{7,6,7},{9,8,9},{12,10,12},{14,10,14}});
op({{11,10,11},{13,12,13},{15,14,15},{16,14,16}});
}
cout << ans.size() << "\n";
for(auto t:ans)
{
for(auto y:t)
{
for(auto x:y) cout << x << " ";
cout << "\n";
}
}
/* for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout << s[i][j];
}
cout << "\n";
}*/
return 0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
assert(s[i][j]==(j<=i));
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 2ms
memory: 3344kb
input:
2
output:
1 2 1 2 2001 2001 2001 2001 2001 2001 2001 2001 2001
result:
wrong answer Integer 2001 violates the range [1, 2000]