728x90
반응형
- 문제 링크
- https://www.acmicpc.net/problem/1236
- 문제 분석
- 모든 행과 모든 열에 한명 이상의 경비원 있으면 좋겠음
- x는 경비원이 있는 칸
- 모든 행과 모든 열에 한명 이상의 경비원 있으면 좋겠음
- 문제 해결 과정
- x가 없는 행과 열에서 경비원이 한명이라도 없는 것에서 큰값을 구한다면 그것이 답이됨
- 소스 코드
#include<stdio.h>
#include<iostream>
using namespace std;
int rowDirection(char board[54][54], int y, int x) {
int cnt = 0;
for (int i = 0; i < y; i++) {
int xCheck = 0;
for (int j = 0; j < x; j++) {
if (board[i][j] == 'X') {
xCheck = -1;
break;
}
}
if (xCheck != -1)
cnt++;
}
return cnt;
}
int colDirection(char board[54][54], int y, int x) {
int cnt = 0;
for (int j = 0; j < x; j++) {
int xCheck = 0;
for (int i = 0; i < y; i++) {
if (board[i][j] == 'X') {
xCheck = -1;
break;
}
}
if (xCheck != -1)
cnt++;
}
return cnt;
}
int main(void) {
int N, M;
cin >> N >> M;
az
char board[54][54];
for (int i = 0; i < N; i++)
cin >> board[i];
int rowNumber = rowDirection(board, N, M);
int colNumber = colDirection(board, N, M);
if (rowNumber >= colNumber) {
cout << rowNumber << "\\n";
}
else {
cout << colNumber << "\\n";
}
}
- 그냥 각 라인의 비어있는 공간의 갯수를 세고 큰값을 출력하면됨
728x90
반응형
'알고리즘 최종 (단계별) > 0.init' 카테고리의 다른 글
9935_문자열폭발 (0) | 2023.06.20 |
---|---|
1181_단어정렬 (0) | 2023.06.12 |
백준 1076 저항 (0) | 2023.06.11 |
댓글