11864번 - Game
문제의 해석을 적어도 몇번은 해야지 모든 경우에 대해서 답을 얻을 수 있다.. 라고 생각하고 문제 풀었습니다.
케이스를 2의 지수승이냐 아니냐로 나눠서 했는데 접근 자체가 틀린것인지 잘 모르겠네요.
2^40 넘어가면 입력이 1.xxx e+10 뭐 이렇게 들어오면 제가 하는 경우에는 안되는데
입력이 1.xxx e+10 처럼 들어오더라도 그 값을 정확히 읽어 낼 수 있는 방법이 있나요?
그냥 숫자 12315411231251512 이렇게는 됩니다만.
8의 경우에는
1: bbb
2: bba
3: bab
4: baa
5: abb
6: aba
7: aab
8: aaa
라고 가정했을 때 1번과 8번만 비교해서 더 큰 값을 출력하는 형식으로 했습니다.
문제가 뭘까요 ㅠ
2의 지수승이 아닐 경우에는
count * bCost 와 (count+1) * aCost 를 비교했습니다..
if (flag == true) // 2의 제곱승 result = costB > costA ? count*costB : count*costA; else result = costB * count > costA*(count + 1) ? costB * count : costA * (count + 1); cout << result;
댓글을 작성하려면 로그인해야 합니다.
dwhylee 8년 전
문제의 해석을 적어도 몇번은 해야지 모든 경우에 대해서 답을 얻을 수 있다.. 라고 생각하고 문제 풀었습니다.
케이스를 2의 지수승이냐 아니냐로 나눠서 했는데 접근 자체가 틀린것인지 잘 모르겠네요.
2^40 넘어가면 입력이 1.xxx e+10 뭐 이렇게 들어오면 제가 하는 경우에는 안되는데
입력이 1.xxx e+10 처럼 들어오더라도 그 값을 정확히 읽어 낼 수 있는 방법이 있나요?
그냥 숫자 12315411231251512 이렇게는 됩니다만.
8의 경우에는
1: bbb
2: bba
3: bab
4: baa
5: abb
6: aba
7: aab
8: aaa
라고 가정했을 때 1번과 8번만 비교해서 더 큰 값을 출력하는 형식으로 했습니다.
문제가 뭘까요 ㅠ
2의 지수승이 아닐 경우에는
count * bCost 와 (count+1) * aCost 를 비교했습니다..
if (flag == true) // 2의 제곱승
result = costB > costA ? count*costB : count*costA;
else
result = costB * count > costA*(count + 1) ? costB * count : costA * (count + 1);
cout << result;