728x90
반응형
https://www.acmicpc.net/problem/1952
1. Logic
2차원 배열로 BFS를 돌려서 하는 방법도 있고 단순 규칙을 찾아서 풀이할 수도 있다.
2. Code
구현 풀이
#include <bits/stdc++.h>
using namespace std;
int n, m;
bool vis[101][101];
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int main() {
int n, m;
cin >> n >> m;
int y = 0;
int x = 0;
vis[0][0] = true;
int dir = 0;
int cnt = 0;
while(true) {
x += dx[dir];
y += dy[dir];
if(y < 0 || y >= n || x < 0 || x >= m || vis[y][x]) {
x -= dx[dir];
y -= dy[dir];
dir = (dir+1)%4;
if(vis[y+dy[dir]][x+dx[dir]]) break;
cnt++;
}
vis[y][x] = true;
}
cout << cnt;
}
규칙 활용 풀이
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
if(n == m) {
cout << 2*(n-1);
}
else if(n > m) {
cout << 2*(m-1) + 1;
}
else {
cout << 2*(n-1);
}
}
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 2887 행성 터널 C++ :: MST (1) | 2024.02.07 |
---|---|
[백준/Baekjoon] 17626 Four Squares C++ :: Dynamic Programming (0) | 2024.02.03 |
[백준/Baekjoon] 20057 마법사 상어와 토네이도 C++ :: Implementation (0) | 2024.01.27 |
[OS/운영체제] Banker's Algorithm / 은행원 알고리즘 (2) | 2024.01.26 |
[백준/Baekjoon] 6593 상범 빌딩 C++ :: BFS (1) | 2024.01.26 |