急:求渡口管理问题的算法和动画演示

来源:百度知道 编辑:UC知道 时间:2024/05/17 13:52:39
题目:
某汽车轮渡口,过江渡船每次只能载10辆车过江。过江车辆分为客车类和货车类,上船有如下规定:同类车先到先上船,客车先于货车上渡船,且每上4辆客车,才允许上一辆货车;若等待客不足4辆,则以货车代替,若无货车等待则允许客车都上船。
根据描述设计一个算法模拟渡口管理。
提示:
初始化,上渡船汽车数量x,上船客车数y,上船货车数z;讨论在上渡船汽车数量小于10的情形:
1、若x<4,客车队列又非空,将客车队列的队头汽车出队上渡船。X 和Y增1,否则转2
2、若Y》=4,或客车队列为空队且货车队列非空,将货车队列的队头汽车出队上渡船。Y=0,X和Z增1,否则转3
3、若货车队列为空队且客车队非空,将客车队列的队头汽车出队上渡船。X和Y增1,Z=0;否则转4
4、提示相应错误信息并退出程序运行。
恩,动画演示不用了,只要详细的算法就好.如果有不同的算法,那就更好了.
会有加分的
6月29日补充:
对,我要的就是程序,大致的算法思路已经给出.3er_sse 你说的我都在问题补充中给出了,至于客流情况问题,我觉得,你没看懂题目,特别是问题的提示,它说了,只是讨论小于10的情况,也就是,输入的总量一定小于10,也就是说只有一艘船,出栈完就起航.分数我说了,会加分,在150~200分之间,说了就一定会做的,至于动画演示,我也说了,不需要了.如果,我可以改这个提问的题目,早改了,刚开始需要这个动画演示是为了更好的理解这个题目,如今,理解了就不需要了.

渡口管理问题
题目:
某汽车轮渡口,过江渡船每次只能载10辆车过江。过江车辆分为客车类和货车类,上船有如下规定:同类车先到先上船,客车先于货车上渡船,且每上4辆客车,才允许上一辆货车;若等待客不足4辆,则以货车代替,若无货车等待则允许客车都上船。
根据描述设计一个算法模拟渡口管理。

提示:
初始化,上渡船汽车数量x,上船客车数y,上船货车数z;讨论在上渡船汽车数量小于10的情形:

1 若x<4,客车队列又非空,将客车队列的队头汽车出队上渡船。X 和Y增1,否则转2
2、若Y》=4,或客车队列为空队且货车队列非空,将货车队列的队头汽车出队上渡船。Y=0,X和Z增1,
否则转3
3、若货车队列为空队且客车队非空,将客车队列的队头汽车出队上渡船。X和Y增1,Z=0;否则转4
4、提示相应错误信息并退出程序运行。

#include<queue>
#include<iostream>
#include<sstream>
using namespace std;

int main()
{
queue<string> q_keche, q_huoche;
string input_data, huoche="huoche", keche="keche";
int Max=10;
int k=0,h=0;

while (cin>>input_data)
{
stringstream out;
if (input_data == huoche)
{
cout <<"huoche size before adding: "<<q_huoche.size()<<" ";
out<<(++h);
q