?? 1554.cpp
字號:
/* This Code is Submitted by wywcgs for Problem 1554 on 2005-11-22 at 15:54:34 */
#include <cstdio>
#include <cstring>
const int MAX = 1024;
const int L_MAX = 128;
const double eps = 1e-4;
class Proposal {
public:
char name[L_MAX];
int metn;
double price;
void init(const char*, double, int);
bool better(const Proposal&) const;
};
void Proposal::init(const char *s, double p, int all) {
strcpy(name, s);
price = p;
metn = all;
}
bool Proposal::better(const Proposal &p) const {
if(metn > p.metn) {
return true;
} else if(metn < p.metn) {
return false;
} else if(price - p.price < -eps) {
return true;
} else {
return false;
}
}
int main()
{
Proposal pro[L_MAX], &best = pro[0];
char line[L_MAX];
int n, m, i, j, a, t = 0;
double p;
while(scanf("%d %d", &n, &m) == 2) {
if(n == 0 && m == 0) {
return 0;
} else {
getchar();
for(i = 0; i < n; i++) {
gets(line);
}
for(i = 0; i < m; i++) {
gets(line);
scanf("%lf %d", &p, &a);
pro[i].init(line, p, a);
getchar();
for(j = 0; j < a; j++) {
gets(line);
}
if(i == 0) {
best = pro[0];
} else if(pro[i].better(best)) {
best = pro[i];
}
}
t++;
if(t != 1) {
putchar('\n');
}
printf("RFP #%d\n", t);
printf("%s\n", best.name);
}
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -