hdu 1422 DP
来源:互联网 发布:软件自动化测试ppt 编辑:程序博客网 时间:2024/06/01 08:35
http://acm.hdu.edu.cn/showproblem.php?pid=1422
自我感觉本题算是一道有点技术含量的DP题,思路同To the max那题很类似,用一个一维数组存储提供的生活费和所需的花费,可惜当时我没想到,虽然也用了DP思想,但是用了两个数组存储,又用了结构体,比较麻烦,最后程序写的老长,自己都快写晕了,交上自然也就免不了wa的厄运了!
AC代码:
#include<stdio.h>#define N 100010int a[N]; //记录第i个城市的供需情况int main(){ int n,i,j,max,sum,cns,w,l,flag; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d%d",&w,&l); a[i]=w-l; } flag=1;i=max=0; while(flag) { sum=0; while(a[i]<0) { i++; if(i==n) //如果从第i到第n个城市都是供不应求,则起始位置已遍历一遍,不能继续参观 { //即直接输出当前max的值; flag=0; goto A; } } j=i; do{ //从当前城市开始累加,看最多能到达的城市数 sum+=a[j]; if(sum<0) break; j++; if(j==n) { //如果最后一个城市被算入,说明已经累加到最后一个城市 flag=0; //此do-while循环结束时,j已回到i的前面,则flag置0,下一次结束while循环 j=0; //从第一个继续累加 } }while(j!=i); //j==i说明循环一周,即所有城市都能够参观 cns=(j+n-i)%n; if(cns==0) cns=n; if(cns>max) max=cns; i=j; //继续从结束点往后累加,计算能参观的最大城市数 }A:printf("%d\n",max); } return 0;}
0 0
- hdu 1422 DP
- hdu 1422 dp
- hdu 1422 DP
- [HDU 1422]重温世界杯(DP)
- hdu~1422(简单dp)
- 1422 hdu 世界杯 另类dp
- hdu 1422 dp入门题
- hdu---1422重温世界杯(DP)
- hdu 1422 重温世界杯 dp
- HDU DP
- DP? HDU
- DP? HDU
- DP? HDU
- 【dp】HDU
- 【dp】HDU
- 【dp】 HDU
- DP? HDU
- 【DP|水】HDU-1422 重温世界杯
- STL入门资料
- 如何在oracle中导入dmp数据库文件
- 总结_搜索专题(四天)及练习赛总结
- 总结_ACM 之歌
- hdu 1846 (简单博弈题)
- hdu 1422 DP
- hdu 1098 多项式整除问题
- MyEclipse 关闭debug
- ZOJ 1318 (第k个序列,简单数学题)
- 俗话说。。俗话又说。。
- 设计模式学习之策略模式
- hdu 3469 (tju 3552) Catching the Thief 博弈 数学题
- hdu 3471 (tju 3554) England vs Germany (计算几何)
- 混合图的欧拉回路