10707 수도요금
#include #include using namespace std; int main() { int a, b, c, d, p; scanf("%d %d %d %d %d", &a, &b, &c, &d, &p); int coast_x = p * a; int coast_y = b; if(p > c) coast_y += d * (p - c); printf("%d", min(coast_x, coast_y)); } 입력을 정의했다 어떻게 풀지 적어봤다. 쉬워서 할말이 없다 #include #include using namespace std; int main() { int a, b, c, d, p; scanf("%d %d %d %d %d", &a, &b, &c, &d, &p); int coast_x = p * a; i..
더보기
5532 방학 숙제
먼저 문제 정리부터 했다. 정리하면서 어떻게 풀지 감이왔다. 그래서 바로 식으로 적어버렸다. 그런데 만약 페이지가 딱 떨어지지 않으면 하루를 더해야 하고 나누어 떨어지면 하루를 더하면 안된다. 여기서 조금 애매했다. 그냥 조건문으로 확인하면 쉽지 근데 더 간결하게 짜고 싶어서 고민이었다. #include #include using namespace std; int main() { int l, a, b, c, d; scanf("%d %d %d %d %d", &l, &a, &b, &c, &d); printf("%d", l - max(a/c + max(a%c>0?1:0,0), b/d + max(b%d>0?1:0,0))); return 0; } 결론은 이렇다 조건문으로 구구절절하게 하기 싫어서 삼항연산자로 때려..
더보기
2480 주사위 세 개
먼저 문제를 정의했다 다음으로 전자종이에 알고리즘을 짜려 하다 이 알고리즘은 제대로 동작하지 않는다는 걸 깨달았다. #include #include using namespace std; int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); if(a == b && b == c) printf("%d", 10000 + a*1000); else if(a == b || b == c ) printf("%d", 1000 + b*100); else if(c == a) printf("%d", 1000 + a*100); else printf("%d", max({a, b, c})*100); return 0; } 그래서 그냥 조건문으로 풀었다. stl의 algorithm에 ma..
더보기