HDU 1160 FatMouse's Speed
来源:互联网 发布:数据结构设计 编辑:程序博客网 时间:2024/05/21 00:45
sort排序一下就OK了啊
ac代码
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;struct node{ int num,w,s;}l[1010];struct asdf{ int xx,sum;}dp[1010];int cmp(node a,node b){ if(a.w!=b.w) return a.w<b.w; else return a.s>b.s;}int main(){ int i,j,n=0,m; while(scanf("%d%d",&l[n].w,&l[n].s)!=EOF) { l[n].num=n; n++; } sort(l,l+n,cmp); for(i=0;i<n;i++) //printf("%d %d %d\n",l[i].w,l[i].s,l[i].num+1); memset(dp,0,sizeof(dp)); int max1,max2=0,f; for(i=0;i<n;i++) { max1=0; for(j=i-1;j>=0;j--) { if(l[i].w>l[j].w&&l[i].s<l[j].s&&max1<dp[j].sum) { max1=dp[j].sum; dp[i].xx=j; } } if(max1==0) { dp[i].sum=1; dp[i].xx=-1; } else { dp[i].sum=max1+1; } if(dp[i].sum>max2) { max2=max1+1; f=i; } } int aa[1010]; printf("%d\n",max2); for(i=1;i<=max2;i++) { aa[i]=l[f].num+1; f=dp[f].xx; } for(i=max2;i>=1;i--) { printf("%d\n",aa[i]); } return 0;}
0 0
- HDU 1160 FatMouse's Speed
- HDU 1160 - FatMouse's Speed
- hdu FatMouse's Speed 1160
- HDU-1160-FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- Hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- HDU 1160 FatMouse's Speed
- HDU 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- HDU-1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 - FatMouse's Speed
- hdu 1160 FatMouse's Speed
- Java画图程序
- Apriori算法--关联规则挖掘
- 内存管理子系统
- 数学建模----Matlab学习总结一(学习两天的过程)
- Metro UI CSS 学习笔记之组件(多页控件和手风琴)
- HDU 1160 FatMouse's Speed
- Backpack
- java的poi技术读取Excel数据到Mysql
- JBOSS5.1下配置虚拟目录
- C++ 成员变量是别的类的对象
- 指向类成员函数的指针并非指针
- QT 5.0.2 QtXML模块
- emacs 使用积累7 .emacs
- 我要回博客园了