文章

11

粉丝

0

获赞

31

访问

1.4k

头像
排队打饭 题解:AC了90%,剩余部分超时了,不怎么怎么解决
P997 复旦大学2020年机试题
发布于2025年3月20日 17:37
阅读数 99

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    int n;
    scanf("%d",&n);
    int* a=(int* )malloc(sizeof(int)*n);
    int* t=(int* )malloc(sizeof(int)*n);
    int* b=(int* )malloc(sizeof(int)*n);
    int* time=(int* )malloc(sizeof(int)*n);
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d %d %d",&a[i],&t[i],&b[i]);
    }
    time[0]=a[0];
    for(i=1;i<n;i++)
    {
        int k=i-1;
        while(time[k]==-1)
        {
            k--;
        }
   ...

登录查看完整内容


登录后发布评论

1 条评论
dhh390
2025年3月20日 17:41

已经解决了,用一个变量记录上一个打饭时间的下标就行,这样就把while循环去掉了

 

赞(0)