알고리즘/SWEA

[SWEA 1215] 회문1

히더 2018. 8. 9. 14:40

출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14QpAaAAwCFAYi


#include <iostream>

#include <algorithm>

#include <memory.h>

using namespace std;


int result, N;

char arr[8][8];


int main()

{

int T; int t=1;

T = 10;

while (T--)

{

cin >> N; result = 0;

for (int i = 0; i < 8; i++)

{

for (int j = 0; j < 8; j++)

{

cin >> arr[i][j];

}

}


for (int i = 0; i < 8; i++)

{

for (int j = 0; j < 8; j++)

{

if (i == 1 && j == 0)

{

int bdsfs = 1;

}

if (arr[i][j] == arr[i][j + (N - 1)] && j < 8 - (N - 1))

{

for (int k = 1; k < N - 1; k++)

{

if (arr[i][j + k] != arr[i][(j + (N - 1)) - k])break;

if (k == N - 2)

{

result += 1;

}

}

}


if (arr[i][j] == arr[i + (N - 1)][j] && i < 8 - (N - 1))

{

for (int kk = 1; kk < N - 1; kk++)

{

if (arr[i+kk][j] != arr[(i + (N - 1))-kk][(j)])break;

if (kk == N - 2)

{

result += 1;

}

}

}

}

}


cout << "#" << t++ << " " << result << endl;

}


return 0;

}