zoukankan      html  css  js  c++  java
  • HDU 1263 水果 结构体排序

    解题报告:一个结构体排序的题,用了一个运算符重载,要注意的是不同的地方可能会产相同的水果,一开始没注意。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 using namespace std;
     6 struct node {
     7     char f_name[85],loc_name[85];
     8     int n;
     9     friend bool operator < (node a,node b) {
    10         int len1 = strlen(a.loc_name);
    11         int len2 = strlen(b.loc_name);
    12         int M = max(len1,len2),i = 0;
    13         while(i < M) {
    14             if(a.loc_name[i] != b.loc_name[i])
    15             return a.loc_name[i] < b.loc_name[i];
    16             i++;
    17         }
    18         len1 = strlen(a.f_name);
    19         len2 = strlen(b.f_name);
    20         M = max(len1,len2),i = 0;
    21         while(i < M) {
    22             if(a.f_name[i] != b.f_name[i])
    23             return a.f_name[i] < b.f_name[i];
    24             i++;
    25         }
    26         return 0;
    27     }
    28 };
    29 int main() {
    30     int T,N,flag = 0;
    31     scanf("%d",&T);
    32     while(T--) {
    33         node M[105];
    34         if(flag)
    35         puts("");
    36         flag = 1;
    37         scanf("%d",&N);
    38         M[0].f_name[0] = M[0].loc_name[0] = M[N+1].f_name[0] = M[N+1].loc_name[0] = NULL;
    39         M[0].n = M[N+1].n = 0;
    40         for(int i = 1;i <= N;++i)
    41         scanf("%s%s%d",M[i].f_name,M[i].loc_name,&M[i].n);
    42         sort(M+1,M+N+1);
    43         for(int i = 1;i <= N;++i) {
    44               if(strcmp(M[i].loc_name,M[i-1].loc_name))
    45               printf("%s
    ",M[i].loc_name);
    46               if(strcmp(M[i].loc_name,M[i+1].loc_name) || strcmp(M[i].f_name,M[i+1].f_name))
    47               printf("   |----%s(%d)
    ",M[i].f_name,M[i].n);
    48               else M[i+1].n += M[i].n;
    49         }
    50     }
    51     return 0;
    52 }
    View Code
  • 相关阅读:
    软件上线标准
    rap使用手册
    微服务
    什么是集合?
    什么是maven?maven中的pom文件是做什么的?
    什么是连接池?
    架构
    什么是反射?
    产品
    描述下fastJSON,jackson等等的技术
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3265742.html
Copyright © 2011-2022 走看看