A+B – 4
https://www.acmicpc.net/problem/10951
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 286357 | 101857 | 85660 | 35.661% |
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
예제 입력 1
1 1 2 3 3 4 9 8 5 2
예제 출력 1
2 5 7 17 7
출처
비슷한 문제
- 1000번. A+B
- 1001번. A-B
- 1008번. A/B
- 2558번. A+B – 2
- 10950번. A+B – 3
- 10952번. A+B – 5
- 10953번. A+B – 6
- 10998번. A×B
- 11021번. A+B – 7
- 11022번. A+B – 8
- 15740번. A+B – 9
- 15792번. A/B – 2
알고리즘 분류
백준 10952번 문제와 90% 정도 같지만 입력에서 큰 차이가 있다.
10952번은 0 0 을 입력으로 주면서 입력의 마지막을 알려주었다면 이 문제에서는 그런 것이 없다.
이 문제를 해결하려면 EOF 에 대하여 알아야 한다.
EOF – End of File의 약자로 텍스트 파일의 끝을 알리기 위한 문자 값이다.
https://lollolzkk.tistory.com/15
파일의 끝이라면 cin.eof()는 true 값을 반환한다는 것만 알고 있으면 된다.
코드를 작성할때 10952번 코드를 재활용해서 bool 값으로 pair값의 first, second를 구별하여 넣어주었다.
통과된 코드
#include <iostream> #include <list> using namespace std; list <pair<int, int>> tempList; list <pair<int, int>>::iterator it; pair<int, int> temp; int main() { bool check = true; while (!cin.eof()) { if (check) { cin >> temp.first; check = !check; } else { cin >> temp.second; check = !check; tempList.push_back(temp); } } for (it = tempList.begin(); it != tempList.end(); it++) cout << it->first + it->second << "\n"; return 0; }