본문 바로가기

알고리즘 관련/BOJ

BOJ)7573 고기잡이

문제: icpc.me/7573


그물의 둘레와 물고기의 수가 100으로 매우 적다 이를 이용하여 완전탐색을 해주면 된다.


한 물고기에 대해 그 물고기를 둘레에 포함하는 가능한 모든 그물을 만들어본 뒤 확인해주면 된다.


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
31
32
33
34
35
#include <cstdio>
#include <algorithm>
using namespace std;
int n, l, m, r;
pair<intint> f[101];
bool chk(int x, int y, int lx, int ly, int rx, int ry) {
    return lx <= x&&<= rx&&ly <= y&&<= ry;
}
int count(int lx, int ly, int rx, int ry) {
    int ret = 0;
    for (int i = 0; i < m; i++
        ret += chk(f[i].first, f[i].second, lx, ly, rx, ry);
    return ret;
}
void getnet(pair<int,int> p) {
    for (int k = 1; k < l; k++) {
        int nx = k;
        int ny = l - k;
        for (int i = p.first - nx; i <= p.first; i++) {
            for (int j = p.second - ny; j <= p.second; j++) {
                r = max(r, count(i, j, i + nx, j + ny));
            }
        }
    }
}
int main() {
    scanf("%d%d%d"&n, &l, &m);
    l /= 2;
    for (int i = 0; i < m; i++
        scanf("%d%d"&f[i].first, &f[i].second);
    for (int i = 0; i < m; i++)
        getnet(f[i]);
    printf("%d\n", r);
    return 0;
}
cs


'알고리즘 관련 > BOJ' 카테고리의 다른 글

BOJ)3079 입국심사  (1) 2017.04.13
BOJ)2820 자동차 공장  (0) 2017.04.13
BOJ)1202 보석 도둑  (0) 2017.04.12
BOJ)14499 주사위 굴리기  (2) 2017.04.12
BOJ)2213 트리의 독립집합  (1) 2017.04.10