提出 #334171
ソースコード 拡げる
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <numeric>
#define FOR(x, to) for (int x = 0; x < to; x++)
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
string s[505];
int up_dp[505][505]; //上から
int down_dp[505][505]; //下から
int ans;
int R, C, K;
int is_put(int p, int q) {
//cout << p << " " << q << endl;
for (int i = -K + 1; i <= K - 1; i++) {
int w = i < 0 ? i : -i;
if (up_dp[p][q + i] >= K + w && down_dp[p][q + i] >= K + w) continue;
else return 0;
}
return 1;
}
int main() {
cin >> R >> C >> K;
FOR(i, R) {
cin >> s[i];
}
for (int i = 0; i < C; i++) {
for (int j = 0; j < R; j++) {
if (s[j][i] == 'x') {
up_dp[j][i] = 0;
} else {
up_dp[j][i] = 1;
if (j - 1 >= 0) up_dp[j][i] += up_dp[j - 1][i];
}
if (s[R - j - 1][i] == 'x') {
down_dp[R - j - 1][i] = 0;
} else {
down_dp[R - j - 1][i] = 1;
if (R - j >= 0) down_dp[R - j - 1][i] += down_dp[R - j][i];
}
}
}
////debug
//for (int i = 0; i < R; i++) {
// for (int j = 0; j < C; j++) {
// cout << up_dp[i][j] << " ";
// }
// cout << endl;
//}
////debug
//cout << "-----" << endl;
//for (int i = 0; i < R; i++) {
// for (int j = 0; j < C; j++) {
// cout << down_dp[i][j] << " ";
// }
// cout << endl;
//}
//cout << "-----" << endl;
for (int i = K - 1; i < R - K + 1; i++) {
for (int j = K - 1; j < C - K + 1; j++) {
ans += is_put(i, j);
}
}
cout << ans << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - 菱型カウント |
| ユーザ | apple_juice |
| 言語 | C++ (G++ 4.6.4) |
| 得点 | 100 |
| コード長 | 1732 Byte |
| 結果 | AC |
| 実行時間 | 100 ms |
| メモリ | 3060 KiB |
ジャッジ結果
| セット名 | Sample | Subtask1 | Subtask2 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
| 結果 |
|
|
|
| セット名 | テストケース |
|---|---|
| Sample | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt |
| Subtask1 | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.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-sample01.txt, subtask0-sample02.txt, subtask0-sample03.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, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| subtask0-sample01.txt | AC | 25 ms | 924 KiB |
| subtask0-sample02.txt | AC | 23 ms | 808 KiB |
| subtask0-sample03.txt | AC | 23 ms | 920 KiB |
| subtask1-01.txt | AC | 25 ms | 928 KiB |
| subtask1-02.txt | AC | 25 ms | 924 KiB |
| subtask1-03.txt | AC | 25 ms | 924 KiB |
| subtask1-04.txt | AC | 25 ms | 924 KiB |
| subtask1-05.txt | AC | 26 ms | 1048 KiB |
| subtask1-06.txt | AC | 25 ms | 1048 KiB |
| subtask1-07.txt | AC | 24 ms | 992 KiB |
| subtask1-08.txt | AC | 25 ms | 1048 KiB |
| subtask1-09.txt | AC | 25 ms | 1004 KiB |
| subtask1-10.txt | AC | 26 ms | 1052 KiB |
| subtask1-11.txt | AC | 26 ms | 1052 KiB |
| subtask1-12.txt | AC | 24 ms | 1000 KiB |
| subtask1-13.txt | AC | 25 ms | 1056 KiB |
| subtask1-14.txt | AC | 25 ms | 1048 KiB |
| subtask1-15.txt | AC | 25 ms | 1056 KiB |
| subtask1-16.txt | AC | 25 ms | 1048 KiB |
| subtask1-17.txt | AC | 25 ms | 1056 KiB |
| subtask1-18.txt | AC | 25 ms | 1048 KiB |
| subtask1-19.txt | AC | 27 ms | 1008 KiB |
| subtask1-20.txt | AC | 25 ms | 1048 KiB |
| subtask2-01.txt | AC | 35 ms | 1904 KiB |
| subtask2-02.txt | AC | 34 ms | 2028 KiB |
| subtask2-03.txt | AC | 27 ms | 2124 KiB |
| subtask2-04.txt | AC | 42 ms | 2164 KiB |
| subtask2-05.txt | AC | 100 ms | 3048 KiB |
| subtask2-06.txt | AC | 99 ms | 3056 KiB |
| subtask2-07.txt | AC | 50 ms | 3048 KiB |
| subtask2-08.txt | AC | 88 ms | 3056 KiB |
| subtask2-09.txt | AC | 88 ms | 3060 KiB |
| subtask2-10.txt | AC | 50 ms | 3052 KiB |
| subtask2-11.txt | AC | 61 ms | 3052 KiB |
| subtask2-12.txt | AC | 62 ms | 3052 KiB |
| subtask2-13.txt | AC | 58 ms | 3048 KiB |
| subtask2-14.txt | AC | 50 ms | 3052 KiB |
| subtask2-15.txt | AC | 49 ms | 3056 KiB |
| subtask2-16.txt | AC | 54 ms | 3048 KiB |
| subtask2-17.txt | AC | 57 ms | 3048 KiB |
| subtask2-18.txt | AC | 58 ms | 3044 KiB |
| subtask2-19.txt | AC | 66 ms | 3048 KiB |
| subtask2-20.txt | AC | 83 ms | 3052 KiB |