寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C++ #Volume24 : 2400 - You Are the Judge

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題 "You Are the Judge"
https://onlinejudge.u-aizu.ac.jp/problems/2400
・審判は君だ!
僕が作成、提出したコードは、以下のとおりです。

・Aizu Online Judge in C++ #Volume24 - 2400 : You Are the Judge
/*
Aizu Online Judge in C++ #Volume24 - 2400 : You Are the Judge
 https://onlinejudge.u-aizu.ac.jp/problems/2400
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(void){
    ll t,p,r;
    while(cin>>t>>p>>r,t){
        pair<pair<ll,ll>,ll> a[50];
        ll v[50][10]={0};
        for(ll i=0;i<50;i++){
            a[i].second=i+1;
        }
        while(r--){
            ll tid,pid,tim;
            string s;
            cin>>tid>>pid>>tim>>s;
            if(s[0]=='W'){
                v[tid-1][pid-1]++;
            }else{
                a[tid-1].first.first--;
                a[tid-1].first.second+=1200*v[tid-1][pid-1]+tim;
            }
        }
        sort(a,a+t);
        for(ll i=0;i<t;i++){
            cout<<a[i].second<<" "<<-a[i].first.first<<" "<<a[i].first.second<<"\n";
        }
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/