uva 116 Unidirectional TSP
来源:互联网 发布:海典软件怎么样 编辑:程序博客网 时间:2024/04/27 22:14
题意:给一个n*m的矩阵,表示到达每一个方格的代价,第i列上的元素可以走到i+1列的与它最近的三个格子。问从第1列到第m列,最小的代价是多少并输出所走路径的行编号。
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;struct node{ int x,y,num;}ele[1005];int dp[1005];bool cmp(const node &e1,const node &e2){ return e1.x!=e2.x?e1.x<e2.x:e1.y>e2.y;}int main(){ int n=0,ans=0,pos; while(scanf("%d%d",&ele[n].x,&ele[n].y)!=EOF) { ele[n].num=n; n++; } sort(ele,ele+n,cmp); for(int i=n-2;i>=0;i--) { for(int j=i+1;j<n;j++) { if(ele[i].y>ele[j].y&&ele[i].x<ele[j].x) { dp[i]=max(dp[i],dp[j]+1); if(dp[i]>ans) { ans=dp[i]; pos=i; } } } } printf("%d\n%d\n",ans+1,ele[pos].num+1); bool flag=true; while(1) { int temp; flag=false; for(int i=0;i<n;i++) { if(dp[i]==dp[pos]-1&&ele[i].y<ele[pos].y) { temp=i; flag=true; } } if(flag) { pos=temp; printf("%d\n",ele[pos].num+1); } else break; }}
- UVa 116 Unidirectional TSP
- UVA 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 Unidirectional TSP
- UVa 116Unidirectional TSP
- UVa 116 - Unidirectional TSP
- Uva 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- Uva - 116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 - Unidirectional TSP
- UVa:116 Unidirectional TSP
- uva 116 Unidirectional TSP
- UVa 116 - Unidirectional TSP
- uva 116 Unidirectional TSP
- uva 116 Unidirectional TSP
- UVA-116 - Unidirectional TSP
- UVa 116 - Unidirectional TSP
- 玩DB2的那段日子
- java将两个有序数组合并成一个有序数组
- MySQL数据库HandlerSocket的性能测试报告
- 我发现的wp7的Bug
- jQuery Ajax 实例全解析
- uva 116 Unidirectional TSP
- 企业信息化改造该考虑什么?
- IUnknown
- JNI 类型小记
- hql中关于limit的使用
- 单片机MCS-51系列指令快速记忆法
- uva 10131 Is Bigger Smarter?
- VMALLOC_START/VMALLOC_END的值(mips架构)
- 好的