Submission #294369
Source Code Expand
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(int)(n);i++) #define each(it,n) for(__typeof((n).begin()) it=(n).begin();it!=(n).end();++it) using namespace std; long long rhash[255][255]; long long rrhash[255][255]; long long bpow[255]; vector<string> field; long long base = 1000000009; long long getrhash(int i, int j, int k) { return rhash[i][k] - rhash[i][j] * bpow[k - j]; } long long getrrhash(int i, int j, int k) { return rrhash[i][j] - rrhash[i][k] * bpow[k - j]; } int main() { int r, c; cin >> r >> c; field = vector<string>(r); rep(i, r) { cin >> field[i]; } bpow[0] = 1; rep(i, c) { bpow[i + 1] = bpow[i] * base; } rep(i, r) { rep(j, c) { rhash[i][j + 1] = rhash[i][j] * base + field[i][j]; } for (int j = c; j > 0; j--) { rrhash[i][j - 1] = rrhash[i][j] * base + field[i][j - 1]; } } int ans = 0; for (int d = 2; d <= c; d++) { for (int j = 0; j + d <= c; j++) { for (int i = 0; i < r; i++) { // center if (getrhash(i, j, j + d) != getrrhash(i, j, j + d)) continue; for (int h = 1; i - h >= 0 && i + h < r; h++) { if (getrhash(i - h, j, j + d) == getrrhash(i + h, j, j + d)) ans++; else break; } } for (int i = 0; i - 1 < r; i++) { for (int h = 1; i - h + 1 >= 0 && i + h < r; h++) { if (getrhash(i - h + 1, j, j + d) == getrrhash(i + h, j, j + d)) ans++; else break; } } } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | H - 模様替え |
User | y3eadgbe |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 1786 Byte |
Status | AC |
Exec Time | 4967 ms |
Memory | 2008 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 15 / 15 | 30 / 30 | 55 / 55 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0-sample-01.txt, subtask0-sample-02.txt |
Subtask1 | subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt |
Subtask2 | subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt |
Subtask3 | subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt, subtask3-11.txt, subtask3-12.txt, subtask3-13.txt, subtask3-14.txt, subtask3-15.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0-sample-01.txt | AC | 25 ms | 924 KB |
subtask0-sample-02.txt | AC | 25 ms | 924 KB |
subtask1-01.txt | AC | 26 ms | 936 KB |
subtask1-02.txt | AC | 24 ms | 1052 KB |
subtask1-03.txt | AC | 25 ms | 1004 KB |
subtask1-04.txt | AC | 24 ms | 880 KB |
subtask1-05.txt | AC | 24 ms | 1048 KB |
subtask1-06.txt | AC | 25 ms | 972 KB |
subtask1-07.txt | AC | 24 ms | 1044 KB |
subtask1-08.txt | AC | 25 ms | 1052 KB |
subtask1-09.txt | AC | 25 ms | 1052 KB |
subtask1-10.txt | AC | 25 ms | 988 KB |
subtask1-11.txt | AC | 25 ms | 984 KB |
subtask1-12.txt | AC | 24 ms | 1056 KB |
subtask1-13.txt | AC | 24 ms | 1052 KB |
subtask1-14.txt | AC | 24 ms | 1008 KB |
subtask1-15.txt | AC | 25 ms | 1048 KB |
subtask1-16.txt | AC | 28 ms | 1044 KB |
subtask1-17.txt | AC | 25 ms | 980 KB |
subtask1-18.txt | AC | 24 ms | 944 KB |
subtask1-19.txt | AC | 26 ms | 1056 KB |
subtask1-20.txt | AC | 24 ms | 980 KB |
subtask2-01.txt | AC | 28 ms | 1104 KB |
subtask2-02.txt | AC | 29 ms | 1312 KB |
subtask2-03.txt | AC | 30 ms | 1308 KB |
subtask2-04.txt | AC | 36 ms | 1232 KB |
subtask2-05.txt | AC | 35 ms | 1236 KB |
subtask2-06.txt | AC | 132 ms | 1236 KB |
subtask2-07.txt | AC | 36 ms | 1264 KB |
subtask2-08.txt | AC | 35 ms | 1356 KB |
subtask2-09.txt | AC | 35 ms | 1232 KB |
subtask2-10.txt | AC | 140 ms | 1400 KB |
subtask2-11.txt | AC | 166 ms | 1356 KB |
subtask2-12.txt | AC | 36 ms | 1232 KB |
subtask2-13.txt | AC | 140 ms | 1232 KB |
subtask2-14.txt | AC | 35 ms | 1264 KB |
subtask2-15.txt | AC | 35 ms | 1384 KB |
subtask3-01.txt | AC | 35 ms | 1392 KB |
subtask3-02.txt | AC | 56 ms | 1560 KB |
subtask3-03.txt | AC | 42 ms | 1312 KB |
subtask3-04.txt | AC | 44 ms | 1380 KB |
subtask3-05.txt | AC | 47 ms | 1492 KB |
subtask3-06.txt | AC | 4935 ms | 2008 KB |
subtask3-07.txt | AC | 222 ms | 2000 KB |
subtask3-08.txt | AC | 185 ms | 1960 KB |
subtask3-09.txt | AC | 181 ms | 2000 KB |
subtask3-10.txt | AC | 182 ms | 2000 KB |
subtask3-11.txt | AC | 183 ms | 2000 KB |
subtask3-12.txt | AC | 186 ms | 2004 KB |
subtask3-13.txt | AC | 4967 ms | 1960 KB |
subtask3-14.txt | AC | 184 ms | 1928 KB |
subtask3-15.txt | AC | 182 ms | 2000 KB |