zoukankan      html  css  js  c++  java
  • 9-sort使用时的错误

    /*                                                             矩形嵌套
    题目内容:

    有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 ", max);
        }
        return 0;
    }

  • 相关阅读:
    做了个上传下载任意文件到数据库
    owc 的使用技巧
    设计模式
    WCF 附录 高级主题 系列文章
    .NET 3.5 中WCF客户端代理性能改进以及最佳实践
    WCF 的几个问题
    你了解 Assembly.Load 吗?
    WCF 第十三章 可编程站点 系列文章
    WCF 第十二章 对等网 系列文章
    最佳实践:显式打开共享访问的WCF客户端代理
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/7429721.html
Copyright © 2011-2022 走看看