반응형
https://www.acmicpc.net/problem/1198
문제 해결 알고리즘
세 점을 선택해 고를 수 있는 삼각형의 넓이를 모두 골라 가장 큰 삼각형의 넓이를 출력한다.
소스 코드
#include <bits/stdc++.h>
using namespace std;
int result = 0;
int triangle_area(int x_1, int y_1, int x_2, int y_2, int x_3, int y_3){
return abs((x_1*y_2 + x_2*y_3 + x_3*y_1)-(x_1*y_3 + x_2*y_1 + x_3*y_2));
}
int main(){
int N; cin >> N;
vector<pair<int, int>> v(N);
for(int i=0;i<N;i++){
cin >> v[i].first >> v[i].second;
}
for(int i=0;i<N-2;i++){
for(int j=i+1;j<N-1;j++){
for(int k=j+1;k<N;k++){
result = max(triangle_area(v[i].first, v[i].second, v[j].first, v[j].second, v[k].first, v[k].second), result);
}
}
}
cout << result / 2;
if(result % 2 == 1) cout << ".5";
}
메모
double로 쓰면 범위 때문에 틀리므로 int를 쓰고 마지막에 .5를 붙이거나 안 붙이는 방식으로 해야 정답을 구할 수 있다.
반응형
'알고리즘 문제 해결 > BOJ' 카테고리의 다른 글
[수학, 정수론] BOJ 9693 시파르 (0) | 2022.02.17 |
---|---|
[문자열] BOJ 1213 팰린드롬 만들기 (0) | 2022.02.14 |
[그리디] BOJ 2212 센서 (0) | 2022.02.08 |
[자료구조, 우선순위 큐] BOJ 14698 전생했더니 슬라임 연구자였던 건에 대하여(Hard) (0) | 2022.02.05 |
[자료구조, 우선순위 큐] BOJ 2075 N번째 큰 수 (0) | 2022.02.02 |