250x250
Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- NIO
- CSS
- deque
- dfs
- sql
- union_find
- Union-find
- set
- GC로그수집
- html
- javascript
- BFS
- priority_queue
- List
- spring boot
- math
- Properties
- date
- 큐
- map
- string
- alter
- JPA
- 스프링부트
- 리소스모니터링
- 힙덤프
- Calendar
- Java
- scanner
- 스택
Archives
- Today
- Total
매일 조금씩
백준 2897번: 몬스터 트럭 본문
728x90
반응형
백준2823번 과 비슷하게 풀어내었다.
https://gimmesome.tistory.com/19?category=1065043
[C++] 백준 2823번: 유턴 싫어
문제의 입출력과 힌트를 보면 막다른 길이 되지않으려면 최소한 현위치에서 동서남북의 방향중 두군데 이상은 뚫여 있어야 한다는 것을 알 수 있다. 완전히 나의 힘으로 푼것은 아니고 다른 코딩을 참고하여 문제..
gimmesome.tistory.com


v[i][j]의 i와 j가 y축과 x축위로 움직이는 것과 같다고 보고
y,x를 struct에서 정의하여 nextY,nextX를 구하는 데에 사용하도록 하였다.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int R, C;
vector<string> v;
int park[5];
typedef struct {
int y, x;
}Dir;
Dir parkDir[3]={ {1,0},{1,1},{0,1} };
void Parking() {
for (int i = 0; i < R-1; i++) {
for (int j = 0; j < C-1; j++) {
bool building = false;
int openPark = 0;
if (v[i][j] == '#')
building = true;
else{
if (v[i][j] == 'X') openPark++;
for (int k = 0; k < 3; k++) {
int nextY = i + parkDir[k].y;
int nextX = j + parkDir[k].x;
if (v[nextY][nextX] == '#') {
building = true;
break;
}
if (v[nextY][nextX] == 'X') openPark++;
}
}
if (!building) {
if (!openPark) park[0]++;
else if (openPark == 1) park[1]++;
else if (openPark == 2) park[2]++;
else if (openPark == 3) park[3]++;
else park[4]++;
}
}
}
}
int main(void) {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> R >> C;
v.resize(R);
for (int i = 0; i < R; i++) {
cin >> v[i];
}
Parking();
for (int i = 0; i < 5; i++) {
cout << park[i] << endl;
}
return 0;
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
백준 5598번: 카이사르 암호 (0) | 2020.02.12 |
---|---|
백준 11656번: 접미사 배열 (0) | 2020.02.11 |
백준 10769번: 행복한지 슬픈지 (0) | 2020.02.08 |
백준 1919번: 애너그램 만들기 (0) | 2020.01.19 |
백준 2857번: FBI (0) | 2020.01.18 |