#include <iostream>
#include <vector>
#include <bitset>
using namespace std;
void solve_smallk(int k) {
for (int m = 1; m < (1 << 16); m += 2) {
vector<bitset<4>> v(4);
for (int i = 0; i < 4; ++i) for (int j = 0; j < 4; ++j) {
v[i][j] = m & (1 << (i * 4 + j));
}
vector<vector<pair<int, int>>> dp(5, vector<pair<int, int>>(5, {0, 0}));
dp[0][0] = {1, 0};
for (int i = 0; i < 4; ++i) for (int j = 0; j < 4; ++j) {
if (v[i][j]) {
dp[i + 1][j].first += dp[i][j].first + dp[i][j].second;
dp[i][j + 1].second += dp[i][j].first + dp[i][j].second;
} else {
dp[i + 1][j].first += dp[i][j].first;
dp[i][j + 1].second += dp[i][j].second;
}
}
int ans = 0;
for (int i = 0; i < 5; ++i) {
ans += dp[4][i].first + dp[i][4].second;
}
if (ans == k) {
cout << "5 5\n";
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
cout << (v[i][j] ? '#' : '.');
}
cout << "d\n";
}
cout << "rrrr.\n";
return;
}
}
cout << "-1\n";
}
signed main() {
int k;
cin >> k;
if (k <= 19) {
solve_smallk(k);
return 0;
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Token "##..d" doesn't correspond to pattern "[Xrd\.]{5}" |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Unexpected end of file - int32 expected |
2 |
Halted |
0 ms |
0 KB |
- |