#include<bits/stdc++.h> using namespace std; struct music { string name; int itime; int score; }; bool cmp(music l, music r) { if(l.score!=r.score) return l.score>r.score; else{ return l.name<r.name; } } int main() { int n; while (cin >> n&&n) { music niub[105]; for (int i = 0; i < n; i++) { music ne; string ss; cin >> niub[i].name >> ss; int p = (ss[0] - '0') * 10 + ss[1] - '0'; int q = (ss[3] - '0') * 10 + ss[4] - '0'; niub[i].itime = p * 60 + q; niub[i].score = 0; } int m; cin >> m; for (int i = 0; i < m; i++) { string s1, s2; cin >> s1 >> s2; int p = (s2[0] - '0') * 10 + s2[1] - '0'; int q = (s2[3] - '0') * 10 + s2[4] - '0'; int newtime = p * 60 + q; int pp; for (int i = 0; i < n; i++) { if (niub[i].name == s1) { pp = i; break; } } double bi = 1.0 * newtime / niub[pp].itime; if (bi < 0.2) niub[pp].score += 0; else if (bi < 0.4) niub[pp].score += 1; else if (bi < 0.6) niub[pp].score += 2; else if (bi < 0.8) niub[pp].score += 3; else if (bi < 1) niub[pp].score += 4; else niub[pp].score += 5; } sort(niub, niub + n, cmp); for (int i = 0; i < n; i++) cout << niub[i].name << " " << niub[i].score << endl; } } |
Double click to view unformatted code.