📄 pku1304.cpp
字号:
#include <stdio.h>
#include <string.h>
typedef struct
{
int l, tot;
int time[11];
} Bus;
Bus b[20];
char s[1000];
int stime;
int mintime;
int N;
void Do(int id)
{
int i, x, val, sl;
x = 0;
i = 0;
sl = strlen(s);
while (i < sl)
{
val = 0;
while (s[i] == ' ')
{
i++;
}
while (s[i] != ' ' && s[i])
{
val *= 10;
val += s[i] - '0';
i++;
}
if (val == 0)
{
break;
}
b[id].time[x] = val;
x++;
}
b[id].l = x;
for (i = 1; i < x; i++)
{
b[id].time[i] += b[id].time[i - 1];
}
b[id].tot = b[id].time[x - 1];
}
int Calc(int id)
{
int i;
int t = stime % b[id].tot;
if (t == 0)
{
return 0;
}
for (i = 0; t > b[id].time[i]; i++);
return b[id].time[i] - t;
}
int main()
{
int i, tmp;
while (1)
{
scanf("%s", s);
if (strcmp(s, "ENDOFINPUT") == 0)
{
break;
}
scanf("%d \n", &N);
memset(b, 0, sizeof(b));
for (i = 0; i < N; i++)
{
gets(s);
Do(i);
}
scanf("%d\n", &stime);
gets(s);
mintime = 10000000;
for (i = 0; i < N; i++)
{
tmp = Calc(i);
if (tmp < mintime)
{
mintime = tmp;
}
}
printf("%d\n", mintime);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -