车辆调度—模拟栈的操作
Posted w-w-t
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了车辆调度—模拟栈的操作相关的知识,希望对你有一定的参考价值。
#include<iostream>
#include<cstdio>
using namespace std;
const int MA=1005;
int stack[MA];
int a[MA];
int top=-1;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int cur=1;//cur为进过栈的数字最大值+1,初始cur为1
for(int i=1;i<=n;i++){
while(stack[top]<a[i]){ //进栈 cur 到 a[i]
stack[++top]=cur++;
}
if(stack[top]==a[i]) top--;//出栈a[i]
else{
printf("NO
");
return 0;
}
}
printf("YES
");
return 0;
}
以上是关于车辆调度—模拟栈的操作的主要内容,如果未能解决你的问题,请参考以下文章
VRP基于matlab蚁群算法求解多配送中心的车辆调度问题含Matlab源码 1098期