結果
問題 | No.2692 How Many Times Reached? |
ユーザー |
|
提出日時 | 2024-03-22 21:55:51 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,145 bytes |
コンパイル時間 | 3,262 ms |
コンパイル使用メモリ | 248,648 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-09-30 11:25:09 |
合計ジャッジ時間 | 4,647 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
ソースコード
// 2692#include <bits/stdc++.h>using namespace std;int N;vector<string> S;int check(int y, int x) {int ret = 0;if (S[y][x] != '.') return 0;// yokoauto T = S[y];T[x] = 'A';if (T == string(N, 'A')) ret++;// tatebool tate = true;for (int i = 0; i < N; i++) {if (i == y) continue;if (S[i][x] != 'A') {tate = false;break;}}if (tate) ret++;// \nanameif (x == y) {bool naname1 = true;for (int i = 0; i < N; i++) {if (i == x) continue;if (S[i][i] != 'A') {naname1 = false;break;}}if (naname1) ret++;}// /nanameif (x == N - 1 - y) {bool naname2 = true;for (int i = 0; i < N; i++) {if (i == x) continue;if (S[N-1-i][i] != 'A') {naname2 = false;break;}}if (naname2) ret++;}return ret;}int main() { cin.tie(0)->sync_with_stdio(0);cin >> N;S.resize(N);for (auto&& s : S) cin >> s;int ans = 0;for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {ans += check(i, j);}}cout << ans << endl;return 0;}