8-Z 질문입니다.
251
작성한 질문수 6
안녕하세요 큰돌님,
for(int j = x1 + 1; j <= x2; j++){
cout << "j:" << j << " x2:" << x2 <<'\n';
_x[j]++;
}
해당 코드에서 범위가 j <= x2 마지막 꼭지점이 포함되는 이유를 모르겠습니다. 아래 조건을 준수하려면 마지막 꼭지점은 제외해야 할 것 같은 생각이 들어서요.
단, 수평선 H는 다각형의 어떤 수평선분과도 겹처 놓여서는 안 되고, 유사하게 수직선 V는 다각형의 어떤 수직선분과도 겹쳐 놓여서는 안 된다.
감사합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
답변 1
0
안녕하세요 hkt님 ㅎㅎ
이거는 시각을 생각하시면 됩니다. 우리가 보통 시각을 기반으로 문제를 풀 때
이상 ~ 미만
또는
이값을 벗어나는 값 ~ 이하
이렇게 풀었던 거 기억나시나요? (1주차때 하는 내용입니다.)
문제에서 주어지는 구간은 그렇게 처리를 해주시면 됩니다.
이렇게 해도 맞습니다.
#include <bits/stdc++.h>
using namespace std;
#define y1 fuck
vector<int> check_x, check_y;
int n, x, y, x1, y1, x2, y2, _y[1000004], _x[1000004], ret;
pair<int, int> a[100004];
int main() {
cin >> n;
for(int i = 0; i < n; i++){
cin >> x >> y;
x += 500000;
y += 500000;
a[i] = {x, y};
check_x.push_back(x);
check_y.push_back(y);
}
a[n] = a[0];
for(int i = 0; i < n; i++){
tie(x1, y1) = a[i];
tie(x2, y2) = a[i + 1];
if(x1 != x2){
if(x1 > x2) swap(x1, x2);
for(int j = x1; j < x2; j++){
_x[j]++;
}
}
if(y1 != y2){
if(y1 > y2) swap(y1, y2);
for(int j = y1; j < y2; j++){
_y[j]++;
}
}
}
for(int a : check_y) ret = max(ret, _y[a]);
for(int a : check_x) ret = max(ret, _x[a]);
cout << ret << "\n";
}
감사합니다.
코딩살구클럽 가입 문의
0
23
1
코딩 살구 클럽 컴파일 에러
0
19
1
추천 문제
0
18
1
코딩살구클럽 승인
0
25
1
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
32
2
문제를 고민하는 시간 관련
0
27
2
코딩살구클럽
0
42
2
코딩살구클럽 문의
0
45
2
코딩살구클럽 승인
0
37
2
DP 경우의 수 설명이 이해가 되지 않습니다.
0
35
2
3-F 채점 관련 질문
0
32
1
BFS, DFS 활용이 되는 상황에서의 방향성
0
34
2
코딩살구클럽 승인
0
46
2
코딩살구클럽승인
0
39
3
코딩살구클럽 승인
0
56
2
3-D 관련 질문
0
35
2
코살구 회원가입 문의
0
45
2
코살구 로그인 문제
0
65
2
3-A 문제 풀이 관련 질문
0
56
3
2-O 질문 있습니다
0
38
2
2-T 문제에 관한 질문
0
40
2
코딩 살구 클럽 접속 및 사용방법 문의
0
66
2
안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~
0
67
2
코딩살구클럽 로그인문제
0
85
3





