• 大小: 2KB
    文件类型: .cpp
    金币: 2
    下载: 4 次
    发布日期: 2021-07-09
  • 语言: C/C++
  • 标签: 算法设计  

资源简介

实验目的:通过实验理解算法的概念、算法的表示、算法的时间复杂度和空间复杂度分析;运用熟悉的编程工具对码头扩建问题进行求解,初步学会分析算法的时间复杂度 某市有一码头,每次仅容一辆船停泊装卸货,由于经常有船等候进港,部分人提出要扩建码头。经过调查历史资料发现,码头平均每月停船24艘,每艘船的停泊时间为24±20小时,相邻两艘船的到达时间间隔为30±15小时,如果一艘船因有船在港而等候1小时,其消耗成本为1000元。经预算,扩建码头大约需要1350万元,故市长决策如下:如果未来五年内停泊船只因等候的成本消耗总和超过扩建码头花费则扩建码头,否则,不予扩建。因此,希望你能够帮助市长做出决策。此问题已知到达的大概时间和大概停泊时间,对于此问题用概率统计的方法来做比较复杂,可用程序随机产生到达时间和停泊时间来模拟未来五年内船的停泊,多次模拟预测停泊情况,以做出决策; 3.实验要求:编制程序并对其时间复杂度和空间复杂度进行分析;

资源截图

代码片段和文件信息

#include “stdafx.h“
#include
#include
#include
using namespace std;
#include 
#define year 5
#define test 100
int remaintime;
int reach;
int leave;
int s = 0;
double money = 13500000;
int sx = 0;
int Random(int m int n)//mn分别为负向随机和正向随机
{
int pos dis;
if (m == n)//m=n不叫随机数,返回m
{
return m;
}
else if (m > n)//  标记pos=n,距离差pos=m-n+1,返回 rand() % dis + pos

{
pos = n;
dis = m - n + 1;
return rand() % dis + pos;
}
else
{
pos = m;//标记pos=m,距离差=n-m+1,返回rand() % dis + pos
dis = n - m + 1;
return rand() % dis + pos;
}
}
int main()
{
srand((int)time(NULL));
int leave = 0;
remaintime = 24 + Random(-20 20);//定义停泊时间
reach =0;//第一艘船到达时间为0
leave = remaintime;//第一艘船离开时间为停留时间
reach = 30 + Random

评论

共有 条评论