• cmp


    http://www.fjutacm.com/Problem.jsp?pid=1620

    sort很方便,遇到排序题我就不受控制往sort靠,记几个知识点方便以后找。

    1. #include<algorithm>

      using namespace std;

    2. sort(a,a+n);//sort(a,a+n,cmp);
    3. sort默认升序,改降序:

      bool cmp(int a,int b){
        return a>b;

      }

    4. 加上结构体和数组:

      struct node{

        int a;

        int b;

      }q[50];

      bool cmp(node x,node y){
        return x.a<y.a;//这里只排a

      }

      bool cmp(node x,node y){

        if(x.a!=y.a)

        return x.a<y.a;//如果a一样就排b

        if(x.b!=y.b)

        return x.b<y.b;

      }

    5. 上面题的代码:

      #include<stdio.h>
      #include<algorithm>
      using namespace std;

      struct node{
        int a;
        int b;
      }q[30];

      bool cmp(node x,node y){
              return x.a<y.a;
      }

      int main()
      {
        int t,N;
        scanf("%d",&t);
        for(int i=0;i<t;i++){
        scanf("%d",&N);
        for(int j=0;j<N;j++){
          scanf("%d%d",&q[j].a,&q[j].b);
        }
        sort(q,q+N,cmp);
        for(int i=0;i<N;i++){
          for(int f=0;f<q[i].b;f++){
            for(int k=1;k<=q[i].a;k++){
              if(k==1)
              printf(">+");
              else if(k==q[i].a)
              printf("+> ");
              else
              printf("-");
              }
                  }
                  printf(" ");
                }
              }
      return 0;
      }

    看到能用sort就用咯http://www.fjutacm.com/Problem.jsp?pid=1142

    做个小补充:

    stable_sort():当排序元素相等时,保留原来的顺序。在对结构体排序时,当结构体中的排序元素相等时,如果需要保留原序,可以用stable_sort()。

    partial_sort():局部排序。例如有10个数字,求最小的5个数。如果用sort(),需要先全部排序,再输出前5个;而用partial_sort()可以直接输出前5个。

    还有几个没做的题,先码下来

    http://www.fjutacm.com/Problem.jsp?pid=1214

    https://www.dotcpp.com/oj/problem1568.html 

    EOF

  • 相关阅读:
    变量
    数据类型
    常量
    synchronized&volatile
    类,方法,成员变量和局部变量的可用修饰符
    类及其组成所使用的常见修饰符
    四种权限修饰符
    import
    finally
    final
  • 原文地址:https://www.cnblogs.com/Untergehen/p/14286025.html
Copyright © 2020-2023  润新知