HDOJ 1160 FatMouse's Speed
2011-07-31 21:55
288 查看
第一个用动态规划完成的题目O(∩_∩)O哈哈~。忘记赋值之前的判断了,结果悲剧WA,算是第一次使用动态规划的一个小教训吧。
View Code
View Code
//#include <fstream> #include<iostream> #include <memory> #include <algorithm> using namespace std; struct Mice { int weight; int speed; int pos; }; int cmp( const void *a , const void *b ) { struct Mice *c = (Mice *)a; struct Mice *d = (Mice *)b; if(c->weight >d->weight) return 1; else if(c->weight <d->weight) return -1; else return 0; } int FatMouseSpeed(int len,int* traceLength,int* trace,Mice* m) { qsort(m,len,sizeof(Mice),cmp); int max=0; for(int i=1;i<len;i++) { for(int temp=0;temp<i;temp++) { if(m[i].weight>m[temp].weight&&m[i].speed<m[temp].speed) { if(traceLength[i]<traceLength[temp])//这里错的太纠结 { trace[i]=temp; traceLength[i]=traceLength[temp]; } } } traceLength[i]++; if(traceLength[i]>traceLength[max]) max=i; } return max; } void output(Mice* m,int* trace,int*traceLength,int pos) { if(traceLength[pos]!=1) output(m,trace,traceLength,trace[pos]); cout<<m[pos].pos<<endl; } int main() { //fstream cin("FatMouseSpeed.txt"); int len=0; int trace[1001]={0}; int traceLength[1001]={1}; Mice mice[1001]; while(cin>>mice[len].weight>>mice[len].speed) { mice[len].pos=len+1; len++; } int pos=FatMouseSpeed(len,traceLength,trace,mice); cout<<traceLength[pos]<<endl; output(mice,trace,traceLength,pos); }
相关文章推荐
- [HDOJ1160]FatMouse's Speed(DP)
- HDOJ1160 FatMouse's Speed[dp](最长上升子序列)
- HDOJ 1160 FatMouse's Speed 解题报告
- hdoj1160 FatMouse's Speed 动态规划
- 【hdoj 1160】FatMouse's Speed
- HDOJ1160 Fat Mouse's Speed
- HDU-1160 FatMouse's Speed ( DP )
- HDU 1160 FatMouse's Speed 最长上升子序列 简单DP
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed(最长不下降子序列+输出路径)
- HDU 1160 FatMouse's Speed(DP)
- HDU 1160 FatMouse's Speed 动态规划
- hdoj1160 FatMouse's Speed ( STL + 最长下降子序列 /DP)
- 暑期dp46道(13)——HDOJ 1160FatMouse's Speed 排序+最长严格下降子序列+回溯
- HD1160FatMouse's Speed(最长单调递增子序列)
- HDU 1160 FatMouse's Speed 动态规划
- HDU_1160_FatMouse's Speed_dp
- HDU ACM 1160 FatMouse's Speed (DP)
- HDOJ 1160 FatMouse's Speed (子序列 - 动态规划)
- HDU 1160 FatMouse's Speed (LIS)