甲级PAT 1026 Table Tennis (30 分)(模拟+三大坑点总结)

这篇博客介绍了PAT考试中的一道题目——1026 Table Tennis,涉及乒乓球店的客户接待流程。内容包括客户抵达时间、使用时间、VIP优先级规则以及等待时间的计算。题解部分强调了几个关键点,如服务时间限制、使用时间上限、VIP优先级和等待时间的处理。博主还分享了模拟问题的思路和注意事项。
摘要由CSDN通过智能技术生成

【题意】

有一家乒乓球的店,营业时间为8:00-21:00。现在已知一天要接待的客户对数,每对客户的抵达时间、使用桌子时间和是否为VIP,然后是K张桌子,M张VIP桌和M张VIP桌的编号。要求按接待时间输出每对被服务的客户的抵达时间、开始服务时间和等待时间,然后输出每张桌子接待的客户的对数。

【题解】

需要注意的是:

①所有的客户的抵达时间在8:00-21:00没错,但是只有当开始服务时间早于21:00时才会被接待,需要输出信息。

当客户的使用时间超过2小时,按两小时算,因为最多使用两小时。

当有空闲的VIP桌子和普通桌子时,VIP用户首先优先选择VIP桌,再选择编号小的。当只有空闲的普通桌子时,VIP客户和普通客户都优先选择编号最小的空闲桌子。

等待时间按分钟四舍五入(也有可能是因为我读错以为向上取整所以觉得坑)

然后按题意慢慢模拟即可。

【代码】

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
struct p{
    int date,t,is,ser=0;
}f[10005];
bool cmp(p a,p b){
    return a.date<b.date;
}
bool cmp2(p a,p b){
    return a.ser<b.ser;
}
int sta[105]={0};
int c[105]={0};
int vis[105]={0};
queue <int> q[3];
int m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值