Task: | Sum |
Sender: | tutis |
Submission time: | 2019-01-19 20:39:18 +0200 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | |
---|---|---|---|
#1 | TIME LIMIT EXCEEDED | -- | details |
#2 | WRONG ANSWER | 0.02 s | details |
#3 | TIME LIMIT EXCEEDED | -- | details |
#4 | TIME LIMIT EXCEEDED | -- | details |
#5 | TIME LIMIT EXCEEDED | -- | details |
#6 | TIME LIMIT EXCEEDED | -- | details |
#7 | TIME LIMIT EXCEEDED | -- | details |
#8 | TIME LIMIT EXCEEDED | -- | details |
#9 | TIME LIMIT EXCEEDED | -- | details |
#10 | TIME LIMIT EXCEEDED | -- | details |
#11 | TIME LIMIT EXCEEDED | -- | details |
#12 | TIME LIMIT EXCEEDED | -- | details |
#13 | TIME LIMIT EXCEEDED | -- | details |
#14 | TIME LIMIT EXCEEDED | -- | details |
#15 | TIME LIMIT EXCEEDED | -- | details |
#16 | TIME LIMIT EXCEEDED | -- | details |
#17 | TIME LIMIT EXCEEDED | -- | details |
#18 | TIME LIMIT EXCEEDED | -- | details |
#19 | TIME LIMIT EXCEEDED | -- | details |
#20 | TIME LIMIT EXCEEDED | -- | details |
#21 | TIME LIMIT EXCEEDED | -- | details |
#22 | TIME LIMIT EXCEEDED | -- | details |
#23 | TIME LIMIT EXCEEDED | -- | details |
#24 | TIME LIMIT EXCEEDED | -- | details |
#25 | TIME LIMIT EXCEEDED | -- | details |
#26 | TIME LIMIT EXCEEDED | -- | details |
#27 | TIME LIMIT EXCEEDED | -- | details |
#28 | TIME LIMIT EXCEEDED | -- | details |
Compiler report
input/code.cpp: In function 'bool tinka(int, int, std::__cxx11::string*, int)': input/code.cpp:17:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (A.size() == n * m && x == 0 && y == 0) ~~~~~~~~~^~~~~~~~ input/code.cpp: In function 'int main()': input/code.cpp:43:10: warning: unused variable 'pradzia' [-Wunused-variable] clock_t pradzia = clock(); ^~~~~~~
Code
/*input 4 4 */ #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; int dx[4] = {0, 1, 0, -1}; int dy[4] = {1, 0, -1, 0}; bool tinka(int n, int m, string a[], int maxi = 100) { int x = 0, y = 0; int t = 0; set<pair<int, int>>A = {{x, y}}; while (maxi > 0) { if (A.size() == n * m && x == 0 && y == 0) return true; if (x + dx[t] < 0 || y + dy[t] < 0 || x + dx[t] >= n || y + dy[t] >= m) return false; bool same = (a[x][y] == a[x + dx[t]][y + dy[t]]); if (a[x][y] == 'R') { a[x][y] = 'G'; } else if (a[x][y] == 'G') { a[x][y] = 'B'; } else a[x][y] = 'R'; x += dx[t]; y += dy[t]; if (!same) t = (t + 1) % 4; A.insert({x, y}); maxi--; } return false; } int main() { clock_t pradzia = clock(); srand(2019); ios_base::sync_with_stdio(false); int n, m; cin >> n >> m; { if (n == 2) { for (int t = 0; t < m; t++) { if (t < m - 1) cout << "R"; else cout << "B\n"; } for (int t = 0; t < m; t++) { if (t < m - 1) { if (t == 0) cout << "B"; else cout << "G"; } else cout << "G\n"; } return 0; } if (m == 2) { cout << "RB\n"; for (int i = 0; i < n - 2; i++) cout << "RB\n"; cout << "RG\n"; return 0; } } string x[2] = { "RRRB", "BGGG" }; ll W = 0; while (W <= pow(3, (n * m))) { if (W % 2000 == 0) { cout << W / pow(3, (n * m)) << endl; } W++; string a[n]; ll WW = W; for (int i = 0; i < n; i++) { a[i] = string(m, 'R'); for (int t = 0; t < m; t++) { if (W % 3 == 0) { a[i][t] = 'R'; } else if (W % 3 == 1) { a[i][t] = 'G'; } else a[i][t] = 'B'; W /= 3; } } W = WW; string b[n]; for (int i = 0; i < n; i++) { b[i] = a[i]; } if (tinka(n, m, a)) { for (int i = 0; i < n; i++) cout << b[i] << "\n"; return 0; } } cout << "IMPOSSIBLE\n"; }
Test details
Test 1
Verdict: TIME LIMIT EXCEEDED
input |
---|
1 |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 2
Verdict: WRONG ANSWER
input |
---|
2 |
correct output |
---|
0 |
user output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... Truncated |
Test 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
3 |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
4 |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 5
Verdict: TIME LIMIT EXCEEDED
input |
---|
5 |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 6
Verdict: TIME LIMIT EXCEEDED
input |
---|
6 |
correct output |
---|
1 |
user output |
---|
(empty) |
Test 7
Verdict: TIME LIMIT EXCEEDED
input |
---|
7 |
correct output |
---|
1 |
user output |
---|
(empty) |
Test 8
Verdict: TIME LIMIT EXCEEDED
input |
---|
8 |
correct output |
---|
2 |
user output |
---|
(empty) |
Test 9
Verdict: TIME LIMIT EXCEEDED
input |
---|
9 |
correct output |
---|
3 |
user output |
---|
(empty) |
Test 10
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 |
correct output |
---|
4 |
user output |
---|
(empty) |
Test 11
Verdict: TIME LIMIT EXCEEDED
input |
---|
20 |
correct output |
---|
24 |
user output |
---|
(empty) |
Test 12
Verdict: TIME LIMIT EXCEEDED
input |
---|
30 |
correct output |
---|
61 |
user output |
---|
(empty) |
Test 13
Verdict: TIME LIMIT EXCEEDED
input |
---|
40 |
correct output |
---|
114 |
user output |
---|
(empty) |
Test 14
Verdict: TIME LIMIT EXCEEDED
input |
---|
50 |
correct output |
---|
184 |
user output |
---|
(empty) |
Test 15
Verdict: TIME LIMIT EXCEEDED
input |
---|
60 |
correct output |
---|
271 |
user output |
---|
(empty) |
Test 16
Verdict: TIME LIMIT EXCEEDED
input |
---|
70 |
correct output |
---|
374 |
user output |
---|
(empty) |
Test 17
Verdict: TIME LIMIT EXCEEDED
input |
---|
80 |
correct output |
---|
494 |
user output |
---|
(empty) |
Test 18
Verdict: TIME LIMIT EXCEEDED
input |
---|
90 |
correct output |
---|
631 |
user output |
---|
(empty) |
Test 19
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 |
correct output |
---|
784 |
user output |
---|
(empty) |
Test 20
Verdict: TIME LIMIT EXCEEDED
input |
---|
200 |
correct output |
---|
3234 |
user output |
---|
(empty) |
Test 21
Verdict: TIME LIMIT EXCEEDED
input |
---|
300 |
correct output |
---|
7351 |
user output |
---|
(empty) |
Test 22
Verdict: TIME LIMIT EXCEEDED
input |
---|
400 |
correct output |
---|
13134 |
user output |
---|
(empty) |
Test 23
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 |
correct output |
---|
20584 |
user output |
---|
(empty) |
Test 24
Verdict: TIME LIMIT EXCEEDED
input |
---|
600 |
correct output |
---|
29701 |
user output |
---|
(empty) |
Test 25
Verdict: TIME LIMIT EXCEEDED
input |
---|
700 |
correct output |
---|
40484 |
user output |
---|
(empty) |
Test 26
Verdict: TIME LIMIT EXCEEDED
input |
---|
800 |
correct output |
---|
52934 |
user output |
---|
(empty) |
Test 27
Verdict: TIME LIMIT EXCEEDED
input |
---|
900 |
correct output |
---|
67051 |
user output |
---|
(empty) |
Test 28
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 |
correct output |
---|
82834 |
user output |
---|
(empty) |