提出 #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
結果
AC × 3
AC × 23
AC × 43
セット名 テストケース
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