알고리즘 문제

[백준] 1388번 바닥 장식

feelcoding 2020. 2. 24. 18:38
728x90

https://www.acmicpc.net/problem/1388

 

1388번: 바닥 장식

형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나무 판자는 크기 1의 너비를 가졌고, 양수의 길이를 가지고 있다. 기훈이 방은 직사각형 모양이고, 방 안에는 벽과 평행한 모양의 정사각형으로 나누어져 있다. 이제 ‘-’와 ‘|’로 이루어진 바닥 장식 모양이 주어진다. 만약 두 개의 ‘-’가 인접해 있고, 같은 행에 있다면

www.acmicpc.net

#include <iostream>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	vector<vector<char>> room(n, vector<char>(m));
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			cin >> room[i][j];
		}
	}
	int count = 0;
	for (int i = 0; i < n; i++) {
		char previous = '.';
		for (int j = 0; j < m; j++) {
			if (room[i][j] == '-') {
				if (room[i][j] != previous) count++;
			}
			previous = room[i][j];
		}
	}
	for (int j = 0; j < m; j++) {
		char previous = '.';
		for (int i = 0; i < n; i++) {
			if (room[i][j] == '|') {
				if (room[i][j] != previous) count++;
			}
			previous = room[i][j];
		}
	}
	cout << count;
	return 0;
}
728x90