kyc1204   1년 전

// 입력
2
10000
2
1 2000
3 400
50000
0
//출력
13200
50000

첫 번째 줄을 왜 입력 받는지 모르겠어요
두 번째 줄의 값에서 4, 5번째 줄 값들을 더하고
6, 7번째 줄 따로 더해서 출력하는 문제 아닌가요?

djm03178   1년 전

첫째 줄에 주어지는 건 테스트 케이스의 개수입니다. 두 번째 줄부터 다섯 번째 줄까지가 첫 번째 케이스이고, 여섯 번째 줄부터 일곱 번째 줄까지의 또 하나의 독립된 케이스입니다.

이 전체를 입력받아서, 각 케이스에 대한 답을 차례대로 한 줄에 하나씩 출력하면 됩니다.

kyc1204   1년 전

마지막으로 0이 입력될 때까지 더하는건가요?

djm03178   1년 전

첫째 줄에 주어진 테스트 케이스의 수만큼 입력받는 것입니다. 예제에 있는 0은 "둘째 줄엔 해빈이가 구매하려고 하는 서로 다른 옵션의 개수 n이 주어진다. (0 ≤ n ≤ 1 000)"에서 주어진 n입니다. n이 0이기 때문에 이후 "뒤이어 n개의 줄이 입력으로 들어온다."에 해당하는 줄이 하나도 없는 것뿐이지, 입력의 마지막을 뜻하는 것은 아닙니다.

djm03178   1년 전

preview

kyc1204   1년 전

#include

using namespace std;

int t, cost1, cost2 = 0, a, n;

int main(void){

cin >> t >> cost1 >> n;

for(int i = 0; i < n; i++){

cin >> a >> t;

cost1 += a * t;

}

for(int i = 0; i < n; i++){

cin >> t;

cost2+= t;

}

cout << cost1 << '\n' << cost2;

return 0;

}

그러면 이 코드는 왜 틀린건가요??

설명해주신 내용하고 같은 코드 아닌가요?

djm03178   1년 전

계속 말씀드리지만 테스트 케이스의 수가 몇 개로 고정된 게 아니고 처음에 입력으로 주어지는 테스트 케이스의 수만큼 반복해서 답을 구해야 합니다. 예제에서는 테스트 케이스가 2개이지만, 채점 시에는 이 값이 1일 수도, 3일 수도, 100일 수도 있습니다. 그러면 테스트 케이스가 1개면 답이 하나 출력되어야 하고, 3개면 답이 3개 출력되어야 하고, 100이면 100개 출력되어야 합니다.

kyc1204   1년 전

아 그런뜻이군요! 이제 이해가 되네요 감사합니다

댓글을 작성하려면 로그인해야 합니다.