/*                                                             矩形嵌套
题目内容:

有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。

输入描述

第一行是一个正正数N(0<N<10),表示测试数据组数,每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n<=1000)随后的n行,每行有两个数a,b(0<a,b<100),表示矩形的长和宽

输出描述

每组测试数据都输出一个数,表示最多符合条件的矩形数目,每组输出占一行

输入样例

1
10
1 2
2 4
5 8
6 10
7 9
3 1
5 8
12 10
9 7
2 2

输出样例

5
*/

#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
typedef struct xing{
    int x, y;
}Xing;
Xing c[1005];
int dp[1005];

bool cmp(Xing a, Xing b){
    if(a.x < b.x)
        return 1;
    else if(a.x == b.x && a.y < b.y)  //不能忽视这个
        return 1;
    else
        return 0;
}

int main(){
    int n;
    scanf("%d", &n);
    while(n--){
        int m;
        scanf("%d", &m);
        for(int i = 1; i <= m; i++){
            scanf("%d%d", &c[i].x, &c[i].y);
            if(c[i].x < c[i].y){
                swap(c[i].x, c[i].y);
            }    
        }    
        sort(c + 1, c + m + 1, cmp);   //终于找到你了!!!因为sort是默认从c[0]排到c[m-1],就是依据你传入的首地址和长度,而我是c[1]开始存储的QAQ
        for(int i = 1; i <= m; i++)
            dp[i] = 1;
        int max = 1;
        for(int i = 2; i <= m; i++){
            for(int j = 1; j < i; j++){
                if(c[j].y < c[i].y && c[j].x < c[i].x && dp[j] + 1 > dp[i]){ //注意
                    dp[i] = dp[j] + 1;
                }
                if(max < dp[i])
                    max = dp[i];
            }    
        }
        printf("%d\n", max);
    }
    return 0;
}

9-sort使用时的错误的更多相关文章

  1. python基本使用时常见错误

    python基本使用时常见错误 字符编码错误 如果要学习计算机编程语言,首先就要搞懂字符编码,否则在以后的学习过程中,将会是一场噩梦.在一开始使用的时候,我就遇到了很多的关于字符编码的问题,做个简单的 ...

  2. Zabbix探索:Zabbix API使用时的错误1

    好久没来了,最近比较疲倦,估计是从年初到现在没有休息的原因. 刚刚批量导入网络设备到Zabbix时,报错: Cannot implode expression 后面自然是IP和触发器的表达式. 最初还 ...

  3. pygame模块使用时出现AttributeError: module ‘pygame’ has no attribute '…'错误解决方法

    pygame模块使用时出现AttributeError: module 'pygame' has no attribute '-'错误解决方法 首先在pygame中存在init()模块,出现这样的问题 ...

  4. EntityFrameWork 使用时碰到的小问题

    EntityFrameWork 使用时碰到的小问题 1,在使用orm访问数据库的相目里,也要引用EntityFrameWork.dll,否则无法使用orm 否则,编译错误 错误 5 "Sys ...

  5. [备忘][转]rsync使用时的常见问题

    sync使用时的常见问题: 错误1: rsync: read error: Connection reset by peer (104) rsync error: error in rsync pro ...

  6. [开发笔记]-sqlite数据库在使用时遇到的奇葩问题记录

    有时候做些简单的项目一般都会选择sqlite数据库,优点有很多,这里就不详细说了. 在此主要记录一些平时在使用时遇到的问题及解决方法.希望能对大家有所帮助. --------------------- ...

  7. 本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。——Oracle监听器服务无法启动!

    问题: oracle服务设置为手动启动.但是开机后手动启动监听服务后弹出框,提示“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止.某些服务在未由其他服务或程 ...

  8. Eclipse和Android Studio中的DDMS使用时什么不同?

    http://www.jb51.net/softjc/454131.html Eclipse和Android Studio中的DDMS使用时什么不同? 相信很多经常开发Android应用的朋友应该都接 ...

  9. 本地计算机上的XXX服务启动后停止。某些服务在未由其它服务或程序使用时将自动停止。咋整?

    用C#写个windows服务,安装部署后去启动时,提示说“本地计算机上的XXX服务启动后停止.某些服务在未由其它服务或程序使用时将自动停止”.咋整?就像下面酱紫: 度娘说不知道咋整,我想把程序附加到w ...

随机推荐

  1. sql编程中流程控制 IF ……THEN……ELSEIF……THEN………END IF

    写mysql存储过程应注意的几点: 1.声明变量(declare)时要注意字符集,用变量存储表字段时,表字段与变量的字符编码要一致. 2.mysql的字符合并不能用‘+’号,必须用concat函数. ...

  2. CA证书认证单向和双向的区别

     我觉得最科学的应该是,单向的,每次客户端发两把锁住的东西给服务端,服务端解密两次,服务端用客户端发来的对称密钥加密数据,发送给客户端,客户端只需解密一次,然后客户端每次修改随机密码,传给服务端,服务 ...

  3. div+Css绝对定位(absolute)和相对定位(relative)的总结

    1.没有外Div的情况下 设置绝对定位(absolute)和相对定位(relative)是没有区别的 2.相对定位占位置 而绝对定位不占位置 会漂浮在别的Div之上 3.若父Div没有设置定位,子Di ...

  4. Spark分析之Master

    override def preStart() { logInfo("Starting Spark master at " + masterUrl) webUi.bind() // ...

  5. DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control

    1 前言 Deep Reinforcement Learning可以说是当前深度学习领域最前沿的研究方向,研究的目标即让机器人具备决策及运动控制能力.话说人类创造的机器灵活性还远远低于某些低等生物,比 ...

  6. linux操作系统2 linux常用命令

    知识内容: 1.目录及文件操作 2.用户.群组与权限 3.重定向.管道 4.磁盘存储管理 5.系统命令 6.其他命令 参考: http://man.linuxde.net/ Linux命令规则:目录名 ...

  7. xrange

    range返回一个列表 xrange反会xrange这个类的实例,每次遍历返回一个值.比range的执行效率要高 在python3中range = xrange range(1,10,2)     - ...

  8. OpenACC Julia 图形

    ▶ 书上的代码,逐步优化绘制 Julia 图形的代码 ● 无并行优化(手动优化了变量等) #include <stdio.h> #include <stdlib.h> #inc ...

  9. Node NPM 的常用配置

    1,修改 npm 下载模块的 保存地址 <1>  进入 cmd 运行, 如下命令 npm config set prefix  "C:\Program File\NodeJs\p ...

  10. ajax 实现跨域

    ajax本身是不可以跨域的,通过产生一个script标签来实现跨域.因为script标签的src属性是没有跨域的限制的. 其实设置了dataType: 'jsonp'后,$.ajax方法就和ajax ...