본문 바로가기

Algorithm/BOJ

[BOJ] 7573 고기잡이

 

 

7573번: 고기잡이

한국인의 식단에서 생선은 매우 중요한 단백질 공급원이다. 반면, 지구 온난화로 인한 바닷물의 온도 상승, 그리고 지금까지 마구잡이로 물고기를 잡은 결과로 점점 우리나라의 바다에서 물고

www.acmicpc.net

단순한 방법으로 하면 4중 중첩이 된다. 당연히 시간초과가 난다.

 

물고기를 기준으로 for문을 돌려야 한다.

▶그물의 크기를 정하고 (sx, sy) 위치를 탐색할 때, 모든 지점을 탐색하면 TLE 발생

위와 같이 (4, 3)에서 그물을 치는 것은 비효율 적입니다.

 어디를 (sx, sy)로 설정하는 것이 좋을까요?

물고기가 존재하는 위치 & 물고기간의 교차점

※ (2, 3)과 (4, 5)과 주어질 때 두 좌표의 교차점은  (43)과 (2, 5) 입니다.

 

#include <bits/stdc++.h>
using namespace std;

struct pos{
	int x, y;
};

int n, m, l, res=0;
vector<pos>arr;

void calc(int x, int y, int xx, int yy){
	int cnt=0;
	for(int i=0; i<m; i++){
		if(x<=arr[i].x && arr[i].x<=x+xx && y<=arr[i].y && arr[i].y<=y+yy)
			cnt++;
		res=max(res, cnt);
	}
}

int main(){
	scanf("%d %d %d", &n, &l, &m);
	for(int i=0; i<m; i++){
		int x, y;
		scanf("%d %d", &x, &y);
		arr.push_back({x, y});
	}
	for(int i=0; i<m; i++){
		for(int j=0; j<m; j++){
			for(int k=1; k<l/2; k++){
				calc(arr[i].x, arr[j].y, k, l/2-k);
			}
		}
	}
	printf("%d", res);
}

 

 

 

 

[BOJ] 백준 7573 고기잡이

출처: https://www.acmicpc.net/problem/7573  Input 7 10 6 2 2 2 4 6 2 7 4 3 3 5 6  Output 3 [Jungol] 1437 같은 모양 찾기문제와 달리 그물의 크기가 변합니다. [Jungol] 정올 1437 같은 모양 찾기 출처:..

zoosso.tistory.com

 

 

백준7573 고기잡이

문제 링크 http://icpc.me/7573

justicehui.github.io

 

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 1107 리모컨  (0) 2021.07.21
[BOJ] 2615 오목  (0) 2021.07.15
[BOJ] 17255 N으로 만들기  (0) 2021.06.23
[BOJ] 3933 라그랑주의 네 제곱수 정리  (0) 2021.06.15
[BOJ] 1058 친구  (0) 2021.06.10