📄 pku2674.cpp
字号:
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef struct Node
{
double pos;
int dir;
char name[300];
}Node;
bool cmp(const Node &a, const Node &b)
{
return a.pos < b.pos;
}
const int maxn = 33000;
int N;
double L, V;
int pcnt, ncnt;
Node x[maxn];
void Solve()
{
int i, maxdir = 0, bestpos;
double maxt = 0, tmpt, best;
char tmp_s[3];
scanf("%lf %lf", &L, &V);
pcnt = 0;
ncnt = 0;
for (i = 0; i < N; i++)
{
scanf("%s %lf %s", tmp_s, &x[i].pos, x[i].name);
if (tmp_s[0] == 'p' || tmp_s[0] == 'P')
{
x[i].dir = 1;
tmpt = (L - x[i].pos) / V;
pcnt++;
if (tmpt > maxt)
{
maxt = tmpt;
maxdir = 1;
}
}
else
{
x[i].dir = 0;
tmpt = x[i].pos / V;
ncnt++;
if (tmpt > maxt)
{
maxt = tmpt;
maxdir = -1;
}
}
}
printf("%10d.%02d ", (int)(maxt * 100) / 100, (int)(maxt * 100) % 100);
sort(x, x + N, cmp);
if (maxdir == -1)
{
printf("%s\n", x[ncnt - 1].name);
}
else
{
printf("%s\n", x[ncnt].name);
}
}
int main()
{
while (EOF != scanf("%d", &N) && N)
Solve();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -