ZOJ 1076
来源:互联网 发布:速卖通第三方软件 编辑:程序博客网 时间:2024/05/17 20:53
题目长……
题目本身是一道很水的LIS题。
时间:0毫秒。
空间:180KB。
//Time:0ms//Memory:180Kbytes//User:Lostwinder#include "stdio.h"#include "string.h"#include "stdlib.h"struct gene{int u,v,num;}g[1004];void swap(int *a,int *b){int t=*a;*a=*b;*b=t;}int cmp(const void *a,const void *b){int k=(*(gene *)a).u-(*(gene *)b).u;if(k)return k;else return (*(gene *)a).v-(*(gene *)b).v;}int main(){int i,j,d[1004],prev[1004],n,mx,stack[1004],top;while(1){scanf("%d",&n);if(!n)break;for(i=0;i<n;i++){scanf("%d%d",&g[i].u,&g[i].v);if(g[i].u>g[i].v)swap(&g[i].u,&g[i].v);g[i].num=i+1;}qsort(g,n,sizeof(g[0]),cmp);memset(d,0,sizeof(d));memset(prev,-1,sizeof(prev));d[0]=1;for(i=1;i<n;i++){d[i]=1;for(j=0;j<i;j++){if((d[j]+1>d[i])&&(g[j].v<g[i].u)){d[i]=d[j]+1;prev[i]=j;}}}top=0;mx=-1;for(i=0;i<n;i++){if(d[i]>mx){mx=d[i];j=i;}}top++;stack[top]=g[j].num;while(prev[j]!=-1){j=prev[j];top++;stack[top]=g[j].num;}/*for(i=0;i<n;i++){printf("%d%c",d[i],(i==n-1)?'\n':' ');}*/for(i=top;i>=1;i--){printf("%d%c",stack[i],(i==1)?'\n':' ');}}return 0;}
0 0
- zoj-1076
- ZOJ 1076
- ZOJ-1076
- ZOJ 1076
- ZOJ Problem Set - 1076
- zoj 1076 Gene Assembly
- ZOJ 1076 Gene Assembly
- zoj - 1076 - Gene Assembly
- zoj 1076 Gene Assembly
- ZOJ-1076 Gene Assembly
- Zoj 1076 Gene Assembly
- zoj 1076 Gene Assembly
- zoj 1076 Gene Assembly
- ZOJ 1076 Gene Assembly
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- GO語言基礎教程:Hello world!
- 2014.8.19面试总结
- ios 制作自己的framework
- 闲着没事,美化一下phpinfo
- 装饰模式
- ZOJ 1076
- AS中事件的精髓
- 差分进化算法DE
- https性能调优[译]
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上) .
- 黑白名单的具体实现
- DropDownList控件的使用(数据绑定)
- APNS 那些事!
- 1408191710-hd-Just A Triangle.cpp