https://www.acmicpc.net/problem/15595
문자열을 가지고 숫자놀이할 때는 map<string, int>가 최고다. 나머지는 구현..? 만 열심히 해주면 된다!
#include <string>
#include <map>
#include <iostream>
using namespace std;
int n;
double ACpeople = 0;
double fail_cnt = 0;
map<string, int> manageNotAC;
int main()
{
ios_base::sync_with_stdio(false), cin.tie(0), cout.fixed, cout.precision(14);
cin >> n;
while (n--)
{
int submitNum, markResult, memory, time, lang, length;
string UserId;
cin >> submitNum >> UserId >> markResult >> memory >> time >> lang >> length;
if ("megalusion" == UserId)
continue;
if (markResult == 4)
{
if (manageNotAC[UserId] != -1)
{
ACpeople++;
fail_cnt += manageNotAC[UserId];
manageNotAC[UserId] = -1;
}
continue;
}
if (manageNotAC[UserId] != -1)
manageNotAC[UserId]++;
}
cout << ((ACpeople == 0) ? 0 : (ACpeople / (ACpeople + fail_cnt)) * 100);
return 0;
}
'온라인저지' 카테고리의 다른 글
[BOJ] 3029번: 경고 (0) | 2018.07.27 |
---|---|
[BOJ] 3042번: 트리플렛 (0) | 2018.07.27 |
[BOJ] 11758번: CCW (0) | 2018.07.27 |
[BOJ] 3041번: N-퍼즐 (0) | 2018.07.27 |
[BOJ] 3040번: 백설 공주와 일곱 난쟁이 (0) | 2018.07.27 |
[BOJ] 1764번: 듣보잡 (0) | 2018.07.26 |
댓글