저항
https://www.acmicpc.net/problem/1076
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 25774 | 11409 | 9784 | 44.643% |
문제
전자 제품에는 저항이 들어간다.
저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다.
처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다.
저항의 값은 다음 표를 이용해서 구한다.
예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.
입력
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다.
위의 표에 있는 색만 입력으로 주어진다.
출력
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
예제 입력 1
yellow violet red
예제 출력 1
4700
예제 입력 2
orange red blue
예제 출력 2
32000000
예제 입력 3
white white white
예제 출력 3
99000000000
출처
- 문제를 번역한 사람: baekjoon
- 어색한 표현을 찾은 사람: shiroed1211
알고리즘 분류
단순 구현문제
통과된 코드
#include <iostream> #include <map> using namespace std; string str; long long int result; multimap<string, pair<int, long long int>> mMap = { {"black", make_pair(0, 1)}, {"brown", make_pair(1, 10)}, {"red", make_pair(2, 100)}, {"orange", make_pair(3, 1000)}, {"yellow", make_pair(4, 10000)}, {"green", make_pair(5, 100000)}, {"blue", make_pair(6, 1000000)}, {"violet", make_pair(7, 10000000)}, {"grey", make_pair(8, 100000000)}, {"white", make_pair(9, 1000000000)} }; int main() { cin >> str; result += (mMap.find(str)->second.first * 10); cin >> str; result += (mMap.find(str)->second.first); cin >> str; result *= (mMap.find(str)->second.second); cout << result; return 0; }