https://www.acmicpc.net/problem/1072
어..이 문제는 과거에 풀었었었었던 문제다..ㅜㅜ
그래서 음~ 그냥 간단한 문제군. 하고 생각했다가 맞왜틀 4차례 거치고~
질문게시판에서 단비같은 글을 발견했고..
https://www.acmicpc.net/board/view/156873
틀린 테케를 찾아주는 엄청난 사이트를 발견했다..ㅜㅜ
https://testcase.ac/problems/1072
1072번 게임 - Testcase AC
반례 찾기 실행 횟수57번 반례 찾은 횟수45번 최근 1주일 실행 횟수13번
testcase.ac
이 문제는 수학, 이분탐색 문제다.
하지만, 그리디로도 충분히 풀 수 있다.
처음 이 문제를 접했을 때에는 수학으로 접근했기 때문에 단순한 수식하나로 문제를 쉽게 해결할 수 있었다.
long long a = ceil((((z + 1) * x) - (100 * y)) / (100 - z - 1));
두번째로 이 문제를 풀 때에는 그리디로 풀었기 때문에, 몇가지 예외처리를 잘 해주었어야 했는데, 그러지 못해서 자꾸 틀렸던 것이다..
그냥 넘나 단순하니까 코드만 올리겠다.
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
double x, y;
cin >> x >> y;
int z = (y * 100) / x;
if (z >= 99)
{
cout << -1;
return 0;
}
// cout << z << endl;
int i = 1;
while (true)
{
int temp = ((y + i) * 100) / (x + i);
if (temp != z)
{
cout << i;
return 0;
}
i++;
}
}
끗이당
728x90
'백준이당' 카테고리의 다른 글
[C++] 백준 1931번 : 회의실배정 (1) | 2025.03.27 |
---|---|
[C++] 백준 1541번 : 잃어버린 괄호 (0) | 2025.03.25 |
[C++] 백준 14916번 : 거스름돈 (0) | 2025.03.21 |
[C++] 백준 20055번 : 컨베이어 벨트 위의 로봇 (0) | 2025.03.21 |
[C++] 11399번 : ATM (0) | 2024.08.19 |