• HDU 5058 So easy


    http://acm.hdu.edu.cn/showproblem.php?pid=5058

    题目大意:

      给定两个集合,两个集合的元素都为n,求两个集合是否相等。

      例如:A集合={5,3,7,7},B集合={7,5,3,3},则A集合等于B集合,

    因为他们都有{3,5,7}。C集合={2,5,2,5},D集合={2,5,2,3},C集合和B集合是不等的。

    因为C={2,5},D={2,3,5}

    解题思路:

      对A集合和B集合排序,然后去掉重复的元素,再比较。

    AC代码:

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 
     5 #define MAXN 100+10
     6 
     7 int main(){
     8     int i, n, a[MAXN], b[MAXN];
     9     while(cin>> n){
    10         for(i = 0; i < n; ++i){
    11             cin>> a[i];
    12         }
    13         for(i = 0; i < n; ++i){
    14             cin>> b[i];
    15         }
    16 
    17         sort(a, a + n);//排序
    18         sort(b, b + n);
    19 
    20         int n1 = unique(a, a + n) - a;//去掉重复的元素
    21         int n2 = unique(b, b + n) - b;
    22 
    23         if(n1 == n2){
    24             for(i = 0; i < n1; ++i){
    25                 if(a[i] != b[i])
    26                     break;
    27             }
    28             if(i == n1) puts("YES");
    29             else puts("NO");
    30         }else{
    31             puts("NO");
    32         }
    33     }
    34     return 0;
    35 }
  • 相关阅读:
    hutool 解析 Excel
    上传文件
    Cannot construct instance of `com.**` (although at least one Creator exists)
    Java8之Optional
    java8之Stream
    java8之Lambda
    springboot+mybatis事务管理
    queryWrapper in like
    Java 组装 Tree
    JWT
  • 原文地址:https://www.cnblogs.com/xuqiulin/p/4007858.html
Copyright © 2020-2023  润新知