📄 1527.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1527 on 2006-02-27 at 12:23:57 */
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAX = 32;
int bean[MAX];
class Contestant {
public:
char name;
static int totNum, totShare;
int share;
void make();
void print() const;
};
int Contestant::totNum, Contestant::totShare;
void Contestant::make() {
while(true) {
char guess; int n;
scanf("%c:%d", &guess, &n);
Contestant::totNum++;
int diff = abs(bean[guess-'a']-n);
if(diff == 1) share++;
else if(diff == 0) share += 2;
if(getchar() == '\n') break;
}
}
void Contestant::print() const {
if(share != 0) printf("%c %.2lf\n", name, 2.0*Contestant::totNum / Contestant::totShare*share);
}
int main()
{
Contestant player[MAX];
char jar, name;
int i, t, n;
for(i = 0; i < MAX; i++) player[i].name = i+'A';
for(t = 0; (jar = getchar()) != EOF; t++) {
if(t != 0) putchar('\n');
Contestant::totNum = Contestant::totShare = 0;
memset(bean, 0, sizeof(bean)); ungetc(jar, stdin);
for(i = 0; (jar = getchar()) != '\n'; i++) bean[jar-'a']++;
scanf("%d", &n);
for(i = 0; i < MAX; i++) player[i].share = 0;
for(i = 0; i < n; i++) {
scanf("\n%c\n", &name);
player[name-'A'].make();
}
for(i = 0; i < MAX; i++) Contestant::totShare += player[i].share;
for(i = 0; i < MAX; i++) player[i].print();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -