来源:http://acm.hdu.edu.cn/showproblem.php?pid=1008
运用队列,先进先出。
代码如下:
#include<stdio.h>
#include<string>
#include<iostream>
#include<queue>
using namespace std;
int main()
{
int n,sum,i,j;
queue<int> q;
while(scanf("%d",&n)&&n)
{
sum=0;
while(!q.empty()) q.pop();
while(n--)
{
scanf("%d",&i);
q.push(i);
}
i=0;
while(!q.empty())
{
j=q.front();q.pop();
if(j>i)
{
sum+=(j-i)*6+5;
}
else
sum+=(i-j)*4+5;
i=j;
}
printf("%d\n",sum);
}
return 0;
}
本文介绍了一个基于队列的数据结构问题,并提供了完整的C++实现代码。通过使用标准模板库(STL)中的队列,解决了一个涉及计算成本的算法问题。该算法遵循先进先出的原则,适用于需要按顺序处理元素的应用场景。

3233

被折叠的 条评论
为什么被折叠?



