코딩테스트/SWEA
[SWEA] 활주로 건설
하이하이루루
2023. 7. 11. 12:46
SWEA 활주로 건설 C++ 풀이
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeW7FakkUDFAVH
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
#include <iostream>
using namespace std;
int n, l, ret = 0;
int map[200][100];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int t;
cin >> t;
for (int tc = 1; tc <= t; tc++) {
cin >> n >> l;
for (int y = 0; y < n; y++) {
for (int x = 0; x < n; x++) {
cin >> map[y][x];
}
}
for (int y = 0; y < n; y++) {
for (int x = 0; x < n; x++) {
map[y + n][x] = map[x][y];
}
}
int count = 0;
int i, j;
ret = 0;
for (i = 0; i < 2 * n; i++) {
count = 1;
for (j = 0; j < n - 1; j++) {
if (map[i][j] == map[i][j + 1]) {
++count;
}
else if (map[i][j] + 1 == map[i][j + 1] && count >= l) {
count = 1;
}
else if (map[i][j] - 1 == map[i][j + 1] && count >= 0) {
count = (1 - l);
}
else {
break;
}
}
if (j == (n - 1) && count >= 0) {
++ret;
}
}
cout << "#" << tc << " " << ret << "\n";
}
return 0;
}