/* 做了一天题,现在已经昏昏沉沉了····· 先按矩形面积把小矩形从小到大排序,然后用动态规划做。 p[i]=max(p[1],p[2],p[3].....). p[i]为前i个矩形中可以嵌套的最多的矩形。 具体实现看代码! */ #include<stdio.h> #include<algorithm> struct JX { int a; int b; int date;//date里面存放这个矩形可以嵌套的最多的个数 }jx[1010]; bool neng(JX x,JX y)//判断x能否嵌套y(注意没有等于号!) { return(x.a>y.a&&x.b>y.b||x.a>y.b&&x.b>y.a); } bool cmp(JX x,JX y)//快排重载函数(按面积排序) { return(x.a*x.b<y.a*y.b); } int main() { // freopen("in.txt","r",stdin); //把in.txt中‘.’错写成‘,’就让我调试好大一会~~不明白为什么会出现那么奇怪的结果 int T, n,i,j,max,m; scanf("%d",&T); while(T--) { m=0; scanf("%d",&n); for(i=0;i<n;i++)//输入数据 { scanf("%d%d",&jx[i].a,&jx[i].b); jx[i].date=1; } std::sort(jx,jx+n,cmp);//排序 for(i=0;i<n;i++) { max=0; for(j=0;j<i;j++)//找出第i个以前可以嵌套的最大的数 if(neng(jx[i],jx[j])&&max<jx[j].date)//J能嵌套在I里 max=jx[j].date; jx[i].date+=max;//找到以后加到i上 if(m<jx[i].date)m=jx[i].date;//找出最大的结果 } printf("%d\n",m);//输出 } return(0); }
相关推荐
南阳理工oj离线题库
南阳理工学院OJ第1版解题报告V1.0.pdf
南阳理工学院OJ_个人AC代码包(Java提交) 是Java初学者登堂入室的很好例子。
南阳理工学院stl练习场全部ac代码!
南阳理工ACM离线题库
哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案
西安理工大学学生在线实验系统编程题答案(超级详细)
基于Laravel 5.0的OJ题解网站 , 目前涵盖安科OJ,南阳OJ,杭电OJ ,北大OJ,浙大OJ.zip
山东理工大学2016级OJ进程,始于悦行,终于诚信。
趣味题:柱状图排序 西安理工大学学生在线实验系统 oj
湖南理工学院OJ的0-100题解.rar
实在写不出来,这个可以提供一些思路,慎重《copy》
在线OJ网址大全在线OJ网址大全在线OJ网址大全在线OJ网址大全
厦门理工学院软件工程重点课件,考试前抱佛脚可用。
山东理工大学2016级OJ题目1833
山东理工大学2016级OJ题目1834
搭建OJ平台的工具,方便大家搭建自己的OJ,建议大家使用ubuntu14.04版本,比较稳定
OJ习题.zip
这是洛谷OJ题库导出文件,希望大家下载看看
Jxust Online Judge v1.0.0 关于pull request 温馨提示,所有提交都要严格遵循。 ubuntu下快速搭建开发环境 安装依赖 $ sudo apt-get update $ sudo apt-get install imagemagick $ sudo apt-get install python-...