Submission #3220792
Source Code Expand
#include <bits/stdc++.h> #define each(i, c) for (auto& i : c) #define unless(cond) if (!(cond)) using namespace std; typedef long long int lli; typedef unsigned long long ull; typedef complex<double> point; template<typename P, typename Q> ostream& operator << (ostream& os, pair<P, Q> p) { os << "(" << p.first << "," << p.second << ")"; return os; } template<typename T> ostream& operator << (ostream& os, vector<T> v) { os << "("; each (i, v) os << i << ","; os << ")"; return os; } int main(int argc, char *argv[]) { ios_base::sync_with_stdio(0); cin.tie(0); int a, b; while (cin >> a >> b) { swap(a, b); const int N = 100; int g[N][N]; fill(&g[0][0], &g[N - 1][N - 1] + 1, '@'); vector<pair<int, int>> v; vector<pair<int, int>> u; set<pair<int, int>> taboo; taboo.insert(make_pair(0, 0)); taboo.insert(make_pair(N-1, N-1)); taboo.insert(make_pair(0, N-1)); taboo.insert(make_pair(N-1, 0)); int di[] = {0, +1, 0, -1}; int dj[] = {+1, 0, -1, 0}; { int dir = 0; int len = N; int i = 0; int j = -1; while (len) { for (int k = 0; k < len; ++k) { i += di[dir]; j += dj[dir]; g[i][j] = '#'; unless (taboo.count(make_pair(i, j))) v.push_back(make_pair(i, j)); } dir = (dir + 1) % 4; --len; } } { int dir = 3; int len = N - 1; int i = N; int j = 0; while (len) { for (int k = 0; k < len; ++k) { i += di[dir]; j += dj[dir]; g[i][j] = '.'; unless (taboo.count(make_pair(i, j))) u.push_back(make_pair(i, j)); } dir = (dir + 1) % 4; --len; } } reverse(u.begin(), u.end()); for (int i = 0; i < a - 1; ++i) { int j = 2 * i + 1; g[v[j].first][v[j].second] = '.'; } for (int i = 0; i < b - 1; ++i) { int j = 2 * i + 1; g[u[j].first][u[j].second] = '#'; } cout << N << ' ' << N << endl; for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { cout << (char)g[i][j]; } cout << endl; } } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Grid Components |
User | Johniel |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 2312 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 512 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 2 ms | 512 KB |
02.txt | AC | 2 ms | 512 KB |
03.txt | AC | 2 ms | 512 KB |
04.txt | AC | 2 ms | 512 KB |
05.txt | AC | 2 ms | 512 KB |
06.txt | AC | 2 ms | 512 KB |
07.txt | AC | 2 ms | 512 KB |
08.txt | AC | 2 ms | 512 KB |
09.txt | AC | 2 ms | 512 KB |
10.txt | AC | 2 ms | 512 KB |
11.txt | AC | 2 ms | 512 KB |
12.txt | AC | 2 ms | 512 KB |
13.txt | AC | 2 ms | 512 KB |
14.txt | AC | 2 ms | 512 KB |
15.txt | AC | 2 ms | 512 KB |
16.txt | AC | 2 ms | 512 KB |
17.txt | AC | 2 ms | 512 KB |
18.txt | AC | 2 ms | 512 KB |
19.txt | AC | 2 ms | 512 KB |
20.txt | AC | 2 ms | 512 KB |
21.txt | AC | 2 ms | 512 KB |
22.txt | AC | 2 ms | 512 KB |
23.txt | AC | 2 ms | 512 KB |
24.txt | AC | 2 ms | 512 KB |
25.txt | AC | 2 ms | 512 KB |
26.txt | AC | 2 ms | 512 KB |
27.txt | AC | 2 ms | 512 KB |
28.txt | AC | 2 ms | 512 KB |
29.txt | AC | 2 ms | 512 KB |
30.txt | AC | 2 ms | 512 KB |
31.txt | AC | 2 ms | 512 KB |
32.txt | AC | 2 ms | 512 KB |
33.txt | AC | 2 ms | 512 KB |
34.txt | AC | 2 ms | 512 KB |
35.txt | AC | 2 ms | 512 KB |
36.txt | AC | 2 ms | 512 KB |
37.txt | AC | 2 ms | 512 KB |
38.txt | AC | 2 ms | 512 KB |
39.txt | AC | 2 ms | 512 KB |
40.txt | AC | 2 ms | 512 KB |
sample-01.txt | AC | 2 ms | 512 KB |
sample-02.txt | AC | 2 ms | 512 KB |
sample-03.txt | AC | 2 ms | 512 KB |
sample-04.txt | AC | 2 ms | 512 KB |