/*                                                             矩形嵌套
题目内容:

有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. ajax异步、同步问题,KindEditor ajax提交内容,ajax提交form表单 解决按两次的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. 如果ajax不采用异步,整个js代码在服务器返回结果前都将阻塞,alert方法除外 lookUp('lookUp','',100,300,3); ...

  2. python的类

    一.语法 python类的机制是 C++ 的类机制和 Modula-3 的类机制的混合体: 允许多继承的类继承机制,派生类可以重写它父类的任何方法,一个方法可以调用父类中重名的方法: 1.动态特性:  ...

  3. ffmpeg 编码(视屏)

    分析ffmpeg_3.3.2 muxing 1:分析主函数,代码如下: int main(int argc, char **argv) { OutputStream video_st = { }, a ...

  4. 学习MongoDB 三: MongoDB无法启动的解决方法

    一简介 我们之前介绍了MongoDB入门(安装与配置),我们今天在打开MongDB时,我们先运行cmd.exe进入dos命令界面,然后进入cd  D:\mongodb\bin目录下,启动服务或者mon ...

  5. Python数据分析_Pandas01_数据框的创建和选取

    主要内容: 创建数据表 查看数据表 数据表索引.选取部分数据 通过标签选取.loc 多重索引选取 位置选取.iloc 布尔索引 Object Creation 新建数据 用list建series序列 ...

  6. [Mysql]查看版本号的五种方式

    [Mysql]查看版本号的五种方式   目录(?)[+]   查看版本信息 #1 使用命令行模式进入mysql会看到最开始的提示符 Your MySQL connection id is 3Serve ...

  7. VBA 公式中使用相对位置

    .Cells(3, 4).FormulaR1C1 = "=sum(r[-" & a & "]c[0]:r[-3]c[" & b & ...

  8. VB6 实现命令行调用时附着到原控制台

    Public Declare Function AttachConsole Lib "kernel32.dll" (ByVal ProcessID As Integer) As B ...

  9. Spring MVC 确定目标方法POJO 类型参数

    1:确定一个Key 2. 在implicitMode 中存在Key 对应的对象, 若存在则作为参数传入 3. 在implicitMode 中不存在Key 对应的对象, 则检查当前@SessionAtr ...

  10. pandas datafram重命名列名称

    方法一: 直接给column赋值 df.columns=["a", "b"], 所有的column全部重命名 example: import pandas as ...