문제 : https://www.acmicpc.net/problem/18248
[ 알고리즘풀이 ]
특정거리 R 이내에 있다면 종소리를 듣고, 아니면 못 들으므로
종 치는 곳을 원점이라 생각하고 반지름이 R인 원을 그린다고 생각하면 문제에 쉽게 접근할 수 있습니다.
반지름이 R1, R2 ( R1 < R2 ) 인 두 원이 있을 때, 사람 A와 B가 한 명은 R1 안에만 속하고 한 명은 R2 에만 속하는 경우는 불가능하고 나머지 경우는 모두 가능하므로 이 불가능한 경우만 check 해주면 된다.
#include<iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int N, M, map[1000][100] = {};
cin >> N >> M;
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
cin >> map[i][j];
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
bool c1 = false, c2 = false;
for (int k = 0; k < M; k++){
if (map[i][k] == 1 && map[j][k] == 0)
c1 = true;
if (map[i][k] == 0 && map[j][k] == 1)
c2 = true;
if (c1 && c2) {
cout << "NO";
return 0;
}
}
}
}
cout << "YES";
return 0;
}
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 18249 : 욱제가 풀어야 하는 문제 - travelbeeee (0) | 2019.12.30 |
---|---|
[BOJ] 18247 : 겨울왕국 티켓 예매 - travelbeeee (0) | 2019.12.30 |
[BOJ] 18233 : 러버덕을 사랑하는 모임 - travelbeeee (0) | 2019.12.27 |
[BOJ] 18232 : 텔레포트 정거장 - travelbeeee (0) | 2019.12.27 |
[BOJ] 11725 : 트리의 부모 찾기 - travelbeeee (0) | 2019.12.27 |