最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 小可的帮派

    正文概述 陈老师   2026-01-20 15:31:53  

    题目描述

    小可的班上总共有n个同学。最近小可的同学都很喜欢看武装片,他们也想要组成电视剧当中的武当派,峨眉派等等,于是今天在放学的时候找到了聪明的你希望你可以公平地帮他们拆分门派。

    已知班里的每个人都有武力值,为了公平起见,最终分配的门派里面每个门派的武力值必须相等,每个门派的总武力值是门派内所有人武力值的异或和。你可以从n个同学中选取k个人分成两个门派,如果能够分成两个武力值相同的门派,输出yes,否则输出no。

    注:在C++语言中用^表示异或运算,例如a异或b,写作a^b,a,b,c的异或之和为a^b^c。

    输入格式

    第一行一个正整数 TT ,表示有 TT 组数据

    对于每一组数据

    第一行两个正整数 n,kn,k

    第二行 nn 个整数 a1,a2,...,ana_1,a_2,...,a_n

    输出格式

    对于每组数据,判断能否选取 kk 个人,使得k个人分成两个门派后武力值是否可以相等

    若可以,输出 yesyes ,否则输出 nono

    每组输出占一行

    1
    10 5
    1 2 3 4 5 6 7 8 9 10
    
    yes
    

    数据范围

    对于30%的数据,1<=n<=51<=n<=5

    对于另外20%的数据,1<=n<=201<=n<=20

    对于100%的数据,1<=T<=10,1<=k<=n<=30,0<=ai<=1091<=T<=10,1<=k<=n<=30,0<=a_i<=10^9

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 小可的帮派