zoukankan      html  css  js  c++  java
  • 5650 so easy

    so easy

     
     Accepts: 512
     
     Submissions: 1601
     Time Limit: 2000/1000 MS (Java/Others)
     
     Memory Limit: 65536/65536 K (Java/Others)
    问题描述
    已知一个包含 nn 个元素的正整数集合 SS,设 f(S)f(S) 为集合 SS  中所有元素的异或(XOR)的结果。
    如:S = {1, 2, 3}S={1,2,3}, 则 f(S) = 0f(S)=0。
    
    给出集合 SS,你需要计算 将所有 f(s)f(s) 进行异或后的值, 这里 s subseteq SsS.
    输入描述
    多组测试数据。第一行包含一个整数 T(Tleq 20)T(T20) 表示组数。
    
    每组测试数据第一行包含一个数 n(1n1,000) 表示集合的大小,第二行为 nn 的数表示集合元素。第 i(1in) 个数 0ai​​1000,000,000 且数据保证所给集合中没有重复元素。
    
    输出描述
    对于每组测试数据,输出一个数,表示将所有的 f(s)f(s) 的异或之后的值。
    
    输入样例
    1
    3
    1  2  3
    输出样例
    0
    Hint
    样例中,S = {1, 2, 3}S={1,2,3}, 它的子集有varnothing∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}


    /*
    5650 so easy
    
    首先尝试了一下奇偶是否有区别,然后发现只要是>1的全为0 - -
    然后对n==1进行特判即可
    
    hhh-2016-03-26 22:03:46
    */
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <functional>
    using namespace std;
    #define lson  (i<<1)
    #define rson  ((i<<1)|1)
    typedef long long ll;
    const int maxn = 20050;
    int a[maxn];
    int main()
    {
        int T;
        scanf("%d",&T);
        while(T--)
        {
            int n;
            scanf("%d",&n);
            for(int i = 1;i <= n;i++)
                scanf("%d",&a[i]);
            if(n == 1)
                printf("%d
    ",a[1]);
            else
            printf("0
    ");
        }
        return 0;
    }
    

      

  • 相关阅读:
    SqlServer——事务一进阶之锁的概念(SqlServer技术内幕 T-SQL程序设计 第九章)
    SqlServer——用户自定义函数
    HttpResponseMessage获取请求响应体内容
    如何获取Azure Storage Blob的MD5值
    Nuget安装nupkg文件
    Azure Storage Rest API Demo
    Java 调用Azure认知服务Demo--Computer API
    R语言安装加载包
    linux中的基础正则表达式
    修复组策略 这是启用组策略
  • 原文地址:https://www.cnblogs.com/Przz/p/5409591.html
Copyright © 2011-2022 走看看