#include "bits/stdc++.h"
using namespace std;
#define int long long
int n = 49;
vector <vector <char>> g(n + 1, vector <char> (n + 1, '.'));
vector <pair <int, pair <int, int>>> d;
void make_g() {
g[1][1] = 'X';
for (int i = 1; i <= n; i ++) g[n][i] = 'r';
for (int i = 1; i <= n; i ++) g[i][n] = 'd';
int i = 2;
while (i + 2 <= n) {
g[i][i] = g[i][i + 1] = g[i + 1][i] = g[i + 1][i + 1] = 'X';
g[i + 2][i] = g[i + 2][i + 1] = 'r';
g[i][i + 2] = g[i + 1][i + 2] = 'd';
i += 2;
}
}
void make_d() {
int c = 1;
for (int i = 49; i >= 3; i --) {
d.push_back({c, {1, i - 1}});
d.push_back({c, {i - 1, 1}});
if (i % 2) c *= 3;
else c *= 2;
}
reverse(d.begin(), d.end());
}
void ans_g(int k) {
for (auto [c, p] : d) {
if (k >= c) {
k -= c;
g[p.first][p.second] = 'X';
}
}
}
signed main() {
int k;
cin >> k;
make_g();
make_d();
ans_g(k - 2);
cout << "49 49" << endl;
for (int i = 1; i <= n; i ++) {
for (int j = 1; j <= n; j ++) {
cout << g[i][j];
}
cout << endl;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |