博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nyoj 309 bobsledding 即河南省第四届大学生程序设计大赛第七题
阅读量:5134 次
发布时间:2019-06-13

本文共 1645 字,大约阅读时间需要 5 分钟。

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=309

题意:很好理解就是选手可以选择加速,或者保持速度不变,但在要求的点处速度不能超过给定的值。

思路就是从起点开始不断加速,到有限制点时比较当前的速度和限制速度,如果当前速度小于限制速度则继续进行,否则,把当前的速度改为限制速度继续进行,直到最后,将结果保存到一个数组中,然后从后向前做同样的操作,直到0,不同之处在于在终点时的初始速度不能为1,而应该为不能达到的速度,将结果保存在另一个数组中,比较上面的两个数组,取相同位置的最小值,这样在这些值里边找最大的就是最求的最大速度。

View Code
1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 int a[1005]; 7 int b[1005]; 8 int c[1005]; 9 int main() 10 {
11 int i,n,m,k,x,y; 12 while(scanf("%d%d",&n,&m)!=EOF) 13 {
14 memset(a,0,sizeof(a)); 15 memset(b,0,sizeof(b)); 16 memset(c,0,sizeof(c)); 17 for (i=1;i<=m;i++) 18 {
19 scanf("%d%d",&x,&y); 20 a[x]=y; 21 } 22 k=1; 23 for (i=0;i<=n;i++) 24 {
25 if(!a[i]) 26 b[i]=k++; 27 else 28 {
29 if(a[i]>k); 30 else k=a[i]; 31 b[i]=k++; 32 } 33 } 34 35 k=2000; 36 for (i=n;i>=0;i--) 37 {
38 if(!a[i]) 39 c[i]=k++; 40 else 41 {
42 if(a[i]>k); 43 else k=a[i]; 44 c[i]=k++; 45 } 46 } 47 48 for (i=0;i<=n;i++) 49 {
50 if(b[i]
k)k=b[i]; 56 cout<
<

转载于:https://www.cnblogs.com/zhaoguanqin/archive/2012/03/09/2386095.html

你可能感兴趣的文章
Excel列名序号互转
查看>>
Bootstrap框架(基础篇)之列表,表格,表单
查看>>
前端系列之HTML基础知识概述
查看>>
4.比赛F - Problem_F
查看>>
内存缓存 原理 实现
查看>>
编辑器统一 快捷键
查看>>
JavaScript基础和记背内容 Day1
查看>>
解决百度富文本框中添加的表格页面获取后不显示表格边框的问题
查看>>
构建之法十四
查看>>
Poll机制分析
查看>>
The requested URL /xxxx.html was not found on this server
查看>>
权限设计
查看>>
spring data mongodb CURD
查看>>
那些花儿【III】
查看>>
2.1 使用ARDUINO控制MC20打电话
查看>>
冰川时代5:星际碰撞Ice Age: Collision Course迅雷下载
查看>>
CAS Tomcat实现单点登录
查看>>
HDU1401 Solitaire
查看>>
cmd大全_练习
查看>>
Java 数组 定义一个数组,获取数组中的最大值和最小值,奇数个数和偶数个数...
查看>>