排队论单服务台任意服务时间排队模型 C++代码
时间: 2024-05-06 11:17:56 浏览: 72
以下是排队论单服务台任意服务时间排队模型的C++代码:
```C++
#include<iostream>
#include<cstdio>
using namespace std;
const int MAXN = 10005;
int n;//顾客数
double t;//顾客平均到达时间
double m;//服务时间
double ans;//平均等待时间
double a[MAXN];//表示第i个顾客到达的时间
double b[MAXN];//表示第i个顾客开始服务的时间
double c[MAXN];//表示第i个顾客结束服务的时间
int main()
{
scanf("%d%lf%lf",&n,&t,&m);
for(int i=1;i<=n;i++) scanf("%lf",&a[i]);
for(int i=1;i<=n;i++)
{
if(a[i]>c[i-1]) b[i] = a[i];
else b[i] = c[i-1];
c[i] = b[i] + m;
ans += b[i] - a[i];
}
printf("%.1f",ans/n);
return 0;
}
```
其中,输入的第一行为顾客数n、顾客平均到达时间t和服务时间m。接下来一行为每个顾客到达的时间。
代码中的数组a、b、c分别表示每个顾客到达时间、开始服务时间、结束服务时间。计算平均等待时间时,累加每个顾客的开始服务时间减去到达时间的差即可。
注意,该代码中假设只有一个服务台。如果有多个服务台,需要修改判断条件以及相应的数组。
阅读全文