結果

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

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 30% 2ms 8688KB
2 AC 30% 2ms 8416KB
3 AC 30% 2ms 8672KB
4 AC 30% 2ms 8448KB
5 AC 30% 2ms 7840KB
6 AC 30% 2ms 8304KB
7 AC 30% 2ms 8448KB
8 AC 30% 2ms 8064KB
9 AC 30% 2ms 8688KB
10 AC 30% 2ms 8080KB
11 AC 30% 2ms 7232KB
12 AC 30% 2ms 8416KB
13 AC 30% 2ms 8176KB
14 AC 30% 1ms 7504KB
15 AC 92% 1ms 7504KB
16 AC 30% 1ms 8688KB
17 AC 30% 2ms 7792KB
18 AC 30% 2ms 8304KB
19 AC 30% 2ms 8000KB
20 AC 30% 2ms 7504KB
21 AC 30% 2ms 7248KB
22 AC 30% 2ms 8048KB
23 AC 30% 2ms 7984KB
24 AC 30% 2ms 8432KB
テストケース 結果 得点 実行時間 メモリ使用量
25 WA 0% 2ms 8128KB
26 WA 0% 2ms 8368KB
27 WA 0% 2ms 8656KB
28 WA 0% 2ms 8176KB
29 WA 0% 1ms 8672KB
30 AC 30% 2ms 8016KB
31 WA 0% 2ms 8432KB
32 AC 30% 2ms 8192KB
33 WA 0% 2ms 8400KB
34 WA 0% 2ms 8720KB
35 WA 0% 2ms 8432KB
36 AC 30% 2ms 7808KB
37 WA 0% 2ms 8016KB
38 WA 0% 2ms 8544KB
39 AC 30% 1ms 8208KB
40 WA 0% 2ms 8432KB
41 WA 0% 2ms 7536KB
42 AC 30% 2ms 7536KB
43 WA 0% 2ms 7936KB
44 WA 0% 2ms 8464KB
45 WA 0% 2ms 7216KB
46 AC 30% 1ms 8240KB
47 WA 0% 2ms 8192KB
48 WA 0% 2ms 8608KB
49 AC 30% 2ms 8480KB
50 WA 0% 2ms 7776KB
51 AC 30% 2ms 7984KB
52 WA 0% 2ms 8064KB
53 AC 30% 2ms 8640KB
54 WA 0% 2ms 7248KB
55 WA 0% 2ms 8032KB
56 WA 0% 1ms 8336KB
57 AC 30% 2ms 8400KB
58 WA 0% 2ms 8640KB
59 AC 30% 2ms 7888KB
60 WA 0% 2ms 8400KB
61 AC 30% 1ms 8736KB
62 WA 0% 2ms 8432KB
63 WA 0% 2ms 8576KB
64 WA 0% 2ms 8272KB
65 WA 0% 2ms 8048KB
66 WA 0% 2ms 7776KB
67 WA 0% 2ms 8416KB
68 WA 0% 2ms 8400KB
69 WA 0% 2ms 8480KB
70 AC 30% 2ms 8064KB
71 WA 0% 2ms 7488KB
72 AC 30% 1ms 8272KB
73 AC 30% 2ms 8720KB
74 WA 0% 2ms 7824KB
75 AC 30% 2ms 7536KB
76 WA 0% 2ms 7248KB
77 AC 30% 2ms 8352KB
78 WA 0% 2ms 8048KB
79 WA 0% 2ms 8432KB
80 AC 30% 2ms 8368KB
81 AC 30% 2ms 8064KB
82 WA 0% 2ms 8720KB
83 WA 0% 2ms 7520KB
84 WA 0% 2ms 8432KB
85 WA 0% 2ms 8672KB
86 WA 0% 2ms 8448KB
87 WA 0% 2ms 8400KB
88 WA 0% 2ms 8720KB
89 WA 0% 2ms 8416KB
90 WA 0% 2ms 8384KB
91 WA 0% 2ms 8144KB
92 AC 30% 2ms 7904KB
93 WA 0% 2ms 7792KB
94 WA 0% 2ms 7616KB
95 AC 30% 2ms 8016KB
96 AC 30% 2ms 8400KB
97 WA 0% 2ms 8352KB
98 WA 0% 2ms 7840KB
99 AC 30% 1ms 8448KB
100 AC 30% 2ms 8416KB
101 AC 30% 2ms 8384KB
102 AC 30% 2ms 8416KB
103 WA 0% 1ms 8640KB
104 AC 30% 2ms 7776KB
105 AC 30% 2ms 8464KB
106 AC 30% 2ms 8688KB
107 WA 0% 2ms 8432KB
108 WA 0% 2ms 8096KB
109 WA 0% 2ms 8064KB
110 WA 0% 2ms 8368KB
111 AC 30% 2ms 8064KB
112 WA 0% 2ms 8192KB
113 WA 0% 2ms 8416KB
114 AC 30% 2ms 8064KB
115 WA 0% 2ms 7792KB
116 WA 0% 2ms 7648KB
117 WA 0% 2ms 8672KB
118 AC 30% 2ms 8416KB
119 WA 0% 2ms 8432KB
120 WA 0% 2ms 7232KB
121 AC 30% 2ms 7504KB
122 WA 0% 2ms 8160KB
123 WA 0% 2ms 7984KB
124 WA 0% 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[18][i] = '#';
	}
	for (int i = 18; i < 35; i++) {
		ans[1][i] = '#';
		ans[i][18] = '#';
		ans[34][i] = '#';
	}
	K = M % v[17][17];
	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;
		}
	}
	cout << 36 << " " << 36 << endl;
	for (auto i : ans) {
		cout << i << endl;
	}
	return 0;
}