当前位置:网站首页>Hdu4876zcc love cards (multi check questions)
Hdu4876zcc love cards (multi check questions)
2022-07-07 21:04:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack .
ZCC loves cards
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2362 Accepted Submission(s): 590
Problem Description
ZCC loves playing cards. He has n magical cards and each has a number on it. He wants to choose k cards and place them around in any order to form a circle. He can choose any several consecutive cards the number of which is m(1<=m<=k) to play a magic. The magic is simple that ZCC can get a number x=a1⊕a2…⊕am, which ai means the number on the ith card he chooses. He can play the magic infinite times, but once he begin to play the magic, he can’t change anything in the card circle including the order. ZCC has a lucky number L. ZCC want to obtain the number L~R by using one card circle. And if he can get other numbers which aren’t in the range [L,R], it doesn’t matter. Help him to find the maximal R.
Input
The input contains several test cases.The first line in each case contains three integers n, k and L(k≤n≤20,1≤k≤6,1≤L≤100). The next line contains n numbers means the numbers on the n cards. The ith number a[i] satisfies 1≤a[i]≤100. You can assume that all the test case generated randomly.
Output
For each test case, output the maximal number R. And if L can’t be obtained, output 0.
Sample Input
4 3 1
2 3 4 5Sample Output
7
Hint
⊕ means xor Author
Zhenhai middle school
Source
2014 Multi-University Training Contest 2
The question : to n Number . Choose from k Number , this k The number can be arranged randomly , Once the order is set, it cannot be changed , In this definite order . elect m(m<=k) The value obtained by the number XOR x, All in this order x Find a maximum value of R, Among these numbers, there is a continuous range L~R.
#include<stdio.h>
#include<string.h>
int n,k,L,ans[25];
int a[13],aa[13],R,flag[150];
int vist[10];
void find(int tk)
{
if(tk==k-1)
{
memset(flag,0,sizeof(flag));
for(int i=0;i<k-1;i++)
a[i+k]=a[i];
int maxa=0;
for(int i=0;i<k;i++)// Enumerate the XOR values of consecutive segments of a definite sequence
{
int x=a[i]; flag[x]=1; if(maxa<x)maxa=x;
for(int j=i+1;j-i+1<=k;j++)
{
x^=a[j]; flag[x]=1;if(maxa<x)maxa=x;
}
}
int r=0;
for(int i=L;i<=maxa;i++)// Find this maximum R, Make these numbers exist L~R The number of ranges exists .
if(flag[i]==0)break;
else r=i;
if(r>R)R=r;
return ;
}
tk++;
for(int i=0;i<k;i++)
if(vist[i]==0)
{
a[tk]=aa[i]; vist[i]=1; find(tk); vist[i]=0;
}
}
bool panduan()// Relax the conditions ( Random order ) infer
{
memset(flag,0,sizeof(flag));
int maxa=0;
for(int i=1;i<(1<<k);i++)
{
int x=0;
for(int j=0;(1<<j)<=i;j++)
if((1<<j)&i)x^=aa[j];
flag[x]=1;
if(maxa<x)maxa=x;
}
int r=0;
for(int i=L;i<=maxa;i++)
if(flag[i]==0)break;
else r=i;
return r>R;
}
void CNM(int tk,int i)
{
if(tk==k-1)
{
if(panduan())
find(-1);
return ;
}
tk++;
for(int j=i+1;j<n;j++)
{
aa[tk]=ans[j]; CNM(tk,j);
}
}
int main()
{
while(scanf("%d%d%d",&n,&k,&L)>0)
{
R=0; memset(vist,0,sizeof(vist));
for(int i=0;i<n;i++)
scanf("%d",&ans[i]);
CNM(-1,-1);
printf("%d\n",R);
}
}Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/116456.html Link to the original text :https://javaforall.cn
边栏推荐
- Introduction to referer and referer policy
- Codesonar Webinar
- 国家正规的股票交易app有哪些?使用安不安全
- C language helps you understand pointers from multiple perspectives (1. Character pointers 2. Array pointers and pointer arrays, array parameter passing and pointer parameter passing 3. Function point
- HDU4876ZCC loves cards(多校题)
- I wrote a markdown command line gadget, hoping to improve the efficiency of sending documents by garden friends!
- 阿里云有奖体验:如何通过ECS挂载NAS文件系统
- How does codesonar help UAVs find software defects?
- 【函数递归】简单递归的5个经典例子,你都会吗?
- Codeforces 474 F. Ant colony
猜你喜欢

Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation

Measure the height of the building

Make this crmeb single merchant wechat mall system popular, so easy to use!
CodeSonar通过创新型静态分析增强软件可靠性

AADL inspector fault tree safety analysis module

Small guide for rapid formation of manipulator (12): inverse kinematics analysis
Lex & yacc of Pisa proxy SQL parsing

【OpenCV 例程200篇】223. 特征提取之多边形拟合(cv.approxPolyDP)

CodeSonar如何帮助无人机查找软件缺陷?

C语言 整型 和 浮点型 数据在内存中存储详解(内含原码反码补码,大小端存储等详解)
随机推荐
Codesonar enhances software reliability through innovative static analysis
openGl超级宝典学习笔记 (1)第一个三角形「建议收藏」
Lex & yacc of Pisa proxy SQL parsing
Nebula Importer 数据导入实践
object-c编程tips-timer「建议收藏」
国家正规的股票交易app有哪些?使用安不安全
上海交大最新《标签高效深度分割》研究进展综述,全面阐述无监督、粗监督、不完全监督和噪声监督的深度分割方法
Flask1.1.4 Werkzeug1.0.1 源码分析:路由
MySQL约束之默认约束default与零填充约束zerofill
[function recursion] do you know all five classic examples of simple recursion?
Deep learning model compression and acceleration technology (VII): mixed mode
华泰证券可以做到万一佣金吗,万一开户安全嘛
HOJ 2245 浮游三角胞(数学啊 )
Micro service remote debug, nocalhost + rainbow micro service development second bullet
权限不足
Alibaba cloud award winning experience: how to mount NAS file system through ECS
OneSpin 360 DV新版发布,刷新FPGA形式化验证功能体验
Ubuntu安装mysql8遇到的问题以及详细安装过程
Is it safe to open an account of BOC shares in kainiu in 2022?
Data sorting in string