Submission #75236081


Source Code Expand

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
typedef long long ll;
#define REP(i, n) for (int i = 0, i##_len = (n); i < i##_len; ++i)
#define FOR(i, a, b) for (int i = (a), i##_len = (b); i <= i##_len; ++i)
#define REV(i, a, b) for (int i = (a); i >= (b); --i)

vector<string> grid;
int h,w;
bool is_symmetry(int y, int x, int dy, int dx) {
  int h1 = y, h2  = y + dy, w1 = x, w2 = x + dx;
  bool flag = true;
  for (int i = h1;i <= h2;i++) {
    for (int j = w1; j <= w2;j++) {
      if (grid[i][j] != grid[h1+h2-i][w1+w2-j])flag = false;
    }
  }

  return flag;
}

int main() {
  cin >> h >> w; 
  grid.resize(h);
  REP(i,h)cin >> grid[i];


  int ans = 0;
  for (int i = 0;i < h;i++) {
    for (int j = 0;j < w;j++) {
      // i,jが始点
      for (int dh = 0;dh < h - i;dh++) {
        for (int dw = 0;dw < w - j;dw++) {
          if(is_symmetry(i,j,dh,dw))ans++;
        }
      }
    }
  }

  cout << ans << endl;
}

Submission Info

Submission Time
Task B - Spiral Galaxy
User knr_imtr
Language C++23 (GCC 15.2.0)
Score 200
Code Size 990 Byte
Status AC
Exec Time 1 ms
Memory 3580 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 2
AC × 13
Set Name Test Cases
Sample sample00.txt, sample01.txt
All sample00.txt, sample01.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt
Case Name Status Exec Time Memory
sample00.txt AC 1 ms 3580 KiB
sample01.txt AC 1 ms 3416 KiB
testcase00.txt AC 1 ms 3488 KiB
testcase01.txt AC 1 ms 3532 KiB
testcase02.txt AC 1 ms 3488 KiB
testcase03.txt AC 1 ms 3388 KiB
testcase04.txt AC 1 ms 3400 KiB
testcase05.txt AC 1 ms 3416 KiB
testcase06.txt AC 1 ms 3400 KiB
testcase07.txt AC 1 ms 3416 KiB
testcase08.txt AC 1 ms 3404 KiB
testcase09.txt AC 1 ms 3512 KiB
testcase10.txt AC 1 ms 3488 KiB