# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1090790 | vako_p | Costinland (info1cup19_costinland) | C++14 | 1 ms | 604 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define ll long long
const int mxN = 100;
ll x,n;
char a[mxN][mxN];
void f(ll op, ll idx){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3 and (j != 2 or i != 2); j++) a[idx + i][idx + j] = 'x';
}
a[idx][idx + 2] = 'd';
if(!(op % 2)) a[idx + 2][idx] = 'r';
if(op < 4) a[idx + 1][idx + 2] = 'd';
if(op < 2) a[idx + 2][idx + 1] = 'r';
}
void f1(ll op, ll idx){
if(op > 1) a[idx][idx] = 'x';
if(op > 2) a[idx][idx + 1] = 'x';
if(op > 3) a[idx][idx + 2] = 'x';
if(op > 4) a[idx + 1][idx] = 'x';
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> x;
if(x >= 10) assert(0);
if(x <= 19) n = 5;
else n = 49;
for(int i = 0; i < n; i++) for(int j = 0; j < n; j++){
a[i][j] = '.';
if(i == n - 1 and j != n - 1) a[i][j] = 'r';
if(j == n - 1 and i != n - 1) a[i][j] = 'd';
}
a[0][0] = 'r';
ll curr = 1,idx = 0;
cout << n << ' ' << n << '\n';
for(int i = 0; i < 24; i++){
ll op = x % (curr * 6) / curr;
if(x < curr) break;
if(x >= curr * 6) f(op, idx);
else f1(op, idx);
curr *= 6;
idx += 2;
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(a[i][j] == 'x') cout << 'X';
else cout << a[i][j];
}
cout << '\n';
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |