BOJ4358: 생태학

https://www.acmicpc.net/problem/4358

  • 뭘 하라는건지는 알겠는데, 시간이 너무 널럴해서 Map으로도 풀린다..
  • 확실히 Trie를 쓰면 더 빠르게 풀릴듯.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
using namespace std;

int main() {
  int total = 0;
  map<string, int> data;
  while(1) {
    string s(31,0);
    cin.getline(&s[0], 30);
    if(s[0] == 0) break;
    data[s]++, total++;
  }
  for(auto [name, count] : data)
    printf("%s %.4lf\n", name.c_str(), ((double)count * 100 / total));
}