티스토리 뷰
https://www.acmicpc.net/problem/1913
[백준][C++] 1913 달팽이
#include <iostream>
using namespace std;
int arr[1000][1000] = {};
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, find;
int ay, ax;
cin >> N >> find;
int s = N / 2;
int y = s, x = s;
int dir = 0;
int dy[4] = { -1,0,1,0 };
int dx[4] = { 0,1,0,-1 };
int cnt = 1;
int next = cnt;
bool twice = false;
for (int i = 1; i <= N * N; i++) {
if (i == find) {
ay = y;
ax = x;
}
arr[y][x] = i;
y += dy[dir];
x += dx[dir];
if (i == next) {
dir = (dir + 1) % 4;
if (twice) cnt++;
twice = !twice;
next = i + cnt;
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << arr[i][j] << ' ';
}
cout << '\n';
}
cout << ay + 1 << ' ' << ax + 1;
return 0;
}
'Problem Solving' 카테고리의 다른 글
[프로그래머스][C++] 괄호 회전하기 (0) | 2022.06.19 |
---|---|
[프로그래머스][C++] 피로도 (0) | 2022.06.15 |
[프로그래머스][C++] 게임 맵 최단거리 (0) | 2022.06.04 |
[프로그래머스][C++] 영어 끝말잇기 (0) | 2022.06.03 |
[프로그래머스][C++] 예상 대진표 (0) | 2022.05.31 |
댓글