반응형
https://www.acmicpc.net/problem/5073
#1. 준비된 사람의 알고리즘 문제 풀이
//5073
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int x,y,z;
while(true){
cin>>x>>y>>z;
if(x==0 && y == 0 && z== 0){break;}
if(x==y && y == z){cout<<"Equilateral"<<"\n";}
else{
vector<int> v;
v.push_back(x); v.push_back(y); v.push_back(z);
auto it = max_element(v.begin(),v.end());
int sum =0; for(int k:v){sum+=k;}
sum -= *it;
if(*it >= sum){ cout<<"Invalid\n"; }
else if( x==y || y==z || x == z){ cout<<"Isosceles\n";}
else{cout<<"Scalene\n"; }
//int sum = accumulate(v.begin().v.end(),0);
//int maxlen = max(x,max(y,z));
}
}
}
#ifndef DEBUG
#pragma GCC optimize ("Ofast")
#endif
#include <bits/stdc++.h>
//Syntax Sugars
using namespace std;
using f64 = double;
using i8=char;using i16=short;using i32=int;using i64=long long;
using u8=unsigned char;using u16=unsigned short;using u32=unsigned;using u64=unsigned long long;
const f64 pi=acos(-1);
const f64 eps=1e-12;
const i32 prime=i32(2e9 + 11);
i32 mod=i32(1e9 + 7);
template<typename T> T inf() { return numeric_limits<T>::max() / 2; }
#define forh(var, s, e) for(int var=s; (int)s<=var && var<(int)e; ++var)//for: half-opened range
#define forhi(var, s, e) for(int var=e-1; (int)s<=var && var<(int)e; --var)//inversion
#define forho(var, s, e) int var=s; for(; (int)s<=var && var<(int)e; ++var)//out declaration
#define forhoi(var, s, e) int var=e-1; for(; (int)s<=var && var<(int)e; --var)
#define forc(var, s, e) for(int var=s; (int)s<=var && var<=(int)e; ++var)//for: closed range
#define forci(var, s, e) for(int var=e; (int)s<=var && var<=(int)e; --var)//inversion
#define forco(var, s, e) int var=s; for(; (int)s<=var && var<=(int)e; ++var)//out declaration
#define forcoi(var, s, e) int var=e; for(; (int)s<=var && var<=(int)e; --var)
//Extensions
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/rope>
using namespace __gnu_pbds;
using namespace __gnu_cxx;
//Settings
#define endl '\n'//do not use when solving interactive problem!!!
int main(){
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
cout<<fixed<<setprecision(21);
srand((u32)time(0));
while(true){
int a[3];
cin>>a[0]>>a[1]>>a[2];
if(!a[0]&&!a[1]&&!a[2])
break;
sort(a, a+3);
if(a[2]>=a[1]+a[0])
cout<<"Invalid"<<endl;
else{
if(a[0]==a[1]&&a[1]==a[2])
cout<<"Equilateral"<<endl;
else if(a[0]==a[1]||a[1]==a[2])
cout<<"Isosceles"<<endl;
else
cout<<"Scalene"<<endl;
}
}
return 0;
}
플라즈마 IT 블로그 - 코딩 공부 정리, IT 정보 공유
https://plasmacodeing.tistory.com/
조금이라도 도움이 되었다면 공감 및 댓글 주세요~~
반응형
'알고리즘 > 백준[BOJ] 오답노트' 카테고리의 다른 글
C++ 소수점 반올림 안됨. fixed가 고장났을때 - 백준 알고리즘 오답노트 2755 (0) | 2019.05.07 |
---|---|
구름IDE 디버깅 하는 방법 - 백준 알고리즘 오답노트 1913 (0) | 2019.05.07 |
다이나믹 프로그래밍 오버플로어 - 백준 알고리즘 오답노트 1012 (0) | 2019.05.07 |
배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260 (0) | 2019.05.06 |
C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110 (0) | 2019.05.06 |