https://www.acmicpc.net/problem/11880
11880번: 개미
승현이는 방학을 맞아 심심하지만, 공부는 하기 싫습니다. 이렇게 방 안에서 하루하루 시간을 낭비하던 중, 승현이는 자신의 직육면체 모양의 지우개에 개미 한 마리가 붙어 있다는 것을 알게
www.acmicpc.net
문제
코드
#include <bits/stdc++.h>
using namespace std;
#include <cmath>
#define PI 3.141592653589793
#define ll long long
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while(t--)
{
ll a, b, c;
cin >> a >> b >> c;
ll big = max(a, b);
ll mbig = max(big, c);
ll sum;
if (mbig == a)
{
sum = b+c;
}
else if (mbig == b)
{
sum = a+c;
}
else
{
sum = a+b;
}
cout << mbig*mbig + sum*sum << '\n';
}
}
풀이
직육면체의 전개도에서 살펴보면 최단거리를 구하려면, 입력받은 세 수 중 가로가 최대가 되어야한다.
따라서 max함수를 2번 이용하여 세 수 중 가장 큰 값을 찾는다.
이후 조건문을 통해(가장 큰 값의 경우에 따라) 두 번째로 큰 수와 세 번째로 큰 수의 합을 정의한다.
마지막으로 피타고라스 정리를 통해 (가장 큰 수)^2 + (두 번째 큰 수 + 세 번째 큰 수)^2 을 출력한다.
결과
'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/c++] 2745번 진법변환 (0) | 2022.02.07 |
---|---|
[백준/python] 11005번 진법 변환 2 (0) | 2022.02.07 |
[백준/python] 10825: 국영수 (0) | 2022.02.06 |
[BOJ/python] 11656번 접미사 배열 (0) | 2022.02.06 |
[백준 / python] 5789번 한다 안한다 (1) | 2022.02.06 |