现在有一家银行,他有n个窗口。
现在假设有t个顾客来到银行。
每个顾客都对应两个操作,分别为办理业务和办理业务结束。
一般来说,顾客会被安排到编号最小的空闲窗口办理业务,如果窗口全满,则办理业务失败,输出“Error!”并结束。
输入
第一行输入n,表示有n个窗口。
第二行输入t,表示有t名顾客。
从第三行开始,每行输入一个整数No和一个字符c(No不为0时),No为顾客的编号,c为顾客的操作,如果c为L则表示顾客开始办理业务,如果c为S则表示顾客办理业务结束。
当No为0时表示查询当前有多少个窗口有顾客在办理业务。
从第三行开始的输入不超过2t行。
顾客的编号各不相同且不为0(顾客编号不一定连续),窗口编号则是从0开始的连续整数。
输出
当有一名顾客办理业务结束离开窗口时,输出顾客的编号及其办理业务的窗口的编号,格式见样例。
当查询时,如果银行的所有窗口均为空闲,那么输出“银行空荡荡”,否则输出“现在有x个窗口有顾客在办理业务”,其中x为正在办理业务的窗口数量。
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。
技大人?
#include <stdio.h>
int main() {
int n, t, o, no = 0, jud = 0;
char w;
scanf("%d", &n);
scanf("%d", &t);
int a[99];
for (int i = 1; i <= 2 * t; i++) {
scanf("%d", &o);
if (o == 0) {
if (jud == 0) {
printf("银行空荡荡~~~\n");
} else {
printf("现在有%d个窗口有顾客在办理业务\n", jud);
}
} else {
scanf(" %c", &w);
if (w == 'L') {
a[o] = no;
no++;
jud++;
} else if (w == 'S') {
printf("顾客编号:%d 窗口编号:%d\n", o, a[o]);
no = a[o];
jud--;
}
}
if (jud > n) {
printf("Error!\n");
return 0;
}
}
}
刚做出来的,趁热