結果

提出番号 1861
提出者 olphe
言語 C++
提出日時 2018-08-04 14:15:36
問題名 (65)Small Grid and Score
結果 WA
点数 8%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 30% 2ms 8192KB
2 AC 30% 2ms 8432KB
3 AC 30% 2ms 7792KB
4 AC 30% 2ms 8736KB
5 AC 30% 2ms 7536KB
6 AC 30% 2ms 8304KB
7 AC 30% 2ms 8144KB
8 AC 30% 2ms 8688KB
9 AC 30% 2ms 8416KB
10 AC 30% 2ms 8176KB
11 AC 30% 2ms 8432KB
12 AC 30% 2ms 8400KB
13 AC 30% 1ms 8720KB
14 AC 30% 2ms 8176KB
15 AC 92% 2ms 8432KB
16 AC 30% 2ms 7968KB
17 AC 30% 2ms 8416KB
18 AC 30% 2ms 7872KB
19 AC 30% 2ms 8704KB
20 AC 30% 1ms 8464KB
21 AC 30% 2ms 7984KB
22 AC 30% 1ms 8720KB
23 AC 30% 2ms 7856KB
24 AC 30% 2ms 7232KB
テストケース 結果 得点 実行時間 メモリ使用量
25 AC 30% 2ms 8016KB
26 AC 30% 2ms 7776KB
27 AC 30% 2ms 8480KB
28 AC 30% 2ms 8176KB
29 AC 30% 2ms 8000KB
30 AC 30% 2ms 7536KB
31 AC 30% 2ms 7808KB
32 AC 30% 2ms 8256KB
33 AC 30% 2ms 8112KB
34 WA 0% 2ms 7648KB
35 AC 30% 2ms 8432KB
36 AC 30% 2ms 7280KB
37 AC 30% 2ms 7552KB
38 AC 30% 2ms 8704KB
39 AC 30% 1ms 8048KB
40 AC 30% 2ms 8416KB
41 AC 30% 2ms 8032KB
42 AC 30% 2ms 7776KB
43 AC 30% 2ms 7536KB
44 AC 30% 2ms 8288KB
45 AC 30% 2ms 8432KB
46 AC 30% 2ms 8432KB
47 AC 30% 2ms 8704KB
48 AC 30% 2ms 8432KB
49 AC 30% 2ms 8400KB
50 WA 0% 1ms 8704KB
51 AC 30% 2ms 8064KB
52 WA 0% 2ms 8352KB
53 AC 30% 2ms 8416KB
54 AC 30% 1ms 8400KB
55 AC 30% 2ms 8720KB
56 AC 30% 2ms 8272KB
57 AC 30% 2ms 8064KB
58 AC 30% 2ms 8720KB
59 AC 30% 2ms 8304KB
60 AC 30% 2ms 7984KB
61 AC 30% 2ms 7984KB
62 AC 30% 2ms 8256KB
63 AC 30% 2ms 8432KB
64 AC 30% 2ms 8448KB
65 AC 30% 2ms 7968KB
66 WA 0% 1ms 8736KB
67 AC 30% 2ms 7808KB
68 AC 30% 2ms 8448KB
69 AC 30% 2ms 8080KB
70 AC 30% 2ms 7616KB
71 AC 30% 2ms 8432KB
72 AC 30% 2ms 7648KB
73 AC 30% 2ms 8720KB
74 AC 30% 2ms 8400KB
75 AC 30% 1ms 8480KB
76 AC 30% 1ms 8688KB
77 AC 30% 1ms 8400KB
78 AC 30% 2ms 8128KB
79 WA 0% 2ms 8128KB
80 AC 30% 2ms 8720KB
81 AC 30% 2ms 8352KB
82 AC 30% 2ms 8176KB
83 AC 30% 2ms 8384KB
84 AC 30% 2ms 8192KB
85 AC 30% 2ms 8064KB
86 AC 30% 2ms 7648KB
87 AC 30% 2ms 7792KB
88 WA 0% 2ms 8432KB
89 AC 30% 2ms 7808KB
90 AC 30% 2ms 8432KB
91 AC 30% 2ms 8736KB
92 AC 30% 2ms 8720KB
93 AC 30% 2ms 8064KB
94 AC 30% 2ms 7616KB
95 AC 30% 2ms 8704KB
96 AC 30% 2ms 8448KB
97 AC 30% 2ms 8704KB
98 AC 30% 1ms 8208KB
99 AC 30% 2ms 8416KB
100 AC 30% 2ms 8192KB
101 AC 30% 2ms 8272KB
102 AC 30% 1ms 8112KB
103 AC 30% 2ms 8448KB
104 AC 30% 1ms 8704KB
105 AC 30% 2ms 8048KB
106 AC 30% 2ms 8304KB
107 AC 30% 2ms 7808KB
108 WA 0% 2ms 8416KB
109 AC 30% 2ms 7808KB
110 AC 30% 2ms 8688KB
111 AC 30% 2ms 7520KB
112 AC 30% 2ms 8432KB
113 AC 30% 2ms 8688KB
114 AC 30% 2ms 7616KB
115 WA 0% 2ms 8224KB
116 AC 30% 2ms 8448KB
117 AC 30% 2ms 8432KB
118 AC 30% 1ms 8064KB
119 AC 30% 2ms 7552KB
120 AC 30% 2ms 8400KB
121 AC 30% 2ms 7648KB
122 AC 30% 1ms 7504KB
123 WA 0% 2ms 8416KB
124 AC 30% 2ms 8048KB

ソースコード

#include "iostream"
#include "climits"
#include "list"
#include "queue"
#include "stack"
#include "set"
#include "functional"
#include "algorithm"
#include "string"
#include "map"
#include "unordered_map"
#include "unordered_set"
#include "iomanip"
#include "cmath"
#include "random"
#include "bitset"
#include "cstdio"

using namespace std;

const long long int MOD = 1000000007;
const long double EPS = 1e-8;

long long int N, M, K, H, W, L, R;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	N = 18;
	cin >> M;
	if (!M) {
		cout << 1 << " " << 1 << endl;
		cout << "#" << endl;
		return 0;
	}
	vector<vector<long long int>>v(N, vector<long long int>(N));
	for (int i = 0; i < N; i++) {
		v[i][0] = 1;
		v[0][i] = 1;
	}
	for (int i = 1; i < N; i++) {
		for (int j = 1; j < N; j++) {
			v[i][j] = v[i][j - 1] + v[i - 1][j];
		}
	}
	K = M / v[17][17];
	vector<string>ans(36);
	for (int i = 0; i < 36; i++) {
		ans[i].resize(36, '.');
	}
	if (K) {
		for (int i = 34; i >= 0; i--) {
			if (K % 2 && K > 2) {
				for (int j = 0; j < 18; j++) {
					for (int k = 0; k < 18; k++) {
						if (i == j + k) {
							ans[j + 18][k] = '1';
						}
					}
				}
				K--;
			}
			else if (K >= 2) {
				for (int j = 0; j < 18; j++) {
					for (int k = 0; k < 18; k++) {
						if (i == j + k) {
							ans[j + 18][k] = '2';
						}
					}
				}
				K /= 2;
			}
		}
	}
	else {
		ans[1][0] = '#';
	}
	for (int i = 1; i < 18; i++) {
		ans[1][i] = '#';
		ans[i][18] = '#';
		ans[17][i] = '#';
	}
	for (int i = 18; i < 35; i++) {
		ans[1][i] = '#';
		ans[i][18] = '#';
		ans[34][i] = '#';
	}
	K = M % v[17][17];
	if (K) {
		for (int i = 34; i >= 0; i--) {
			if (K % 2 && K > 2) {
				ans[i][35] = '1';
				K--;
			}
			else if (K > 1) {
				ans[i][35] = '2';
				K /= 2;
			}
		}
		for (int i = 34; i > 0; i--) {
			if (K % 2 && K > 2) {
				ans[0][i] = '1';
				K--;
			}
			else if (K > 1) {
				ans[0][i] = '2';
				K /= 2;
			}
		}
	}
	else {
		ans[0][1] = '#';
	}
	cout << 36 << " " << 36 << endl;
	for (auto i : ans) {
		cout << i << endl;
	}
	return 0;
}