当前位置:网站首页>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 5
Sample 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
边栏推荐
- Intelligent software analysis platform embold
- Cocos2d-x 游戏存档[通俗易懂]
- C语言 整型 和 浮点型 数据在内存中存储详解(内含原码反码补码,大小端存储等详解)
- DataTable数据转换为实体
- 国家正规的股票交易app有哪些?使用安不安全
- Is it safe to open a stock account at present? Can I open an account online directly.
- Codeforces round 296 (Div. 2) A. playing with paper[easy to understand]
- Helix QAC 2020.2新版静态测试工具,最大限度扩展了标准合规性的覆盖范围
- 【OpenCV 例程200篇】223. 特征提取之多边形拟合(cv.approxPolyDP)
- OneSpin 360 DV新版发布,刷新FPGA形式化验证功能体验
猜你喜欢
Mongodb learn from simple to deep
Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation
Details of C language integer and floating-point data storage in memory (including details of original code, inverse code, complement, size end storage, etc.)
How does codesonar help UAVs find software defects?
Codesonar enhances software reliability through innovative static analysis
ERROR: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
MySQL storage expression error
[paper reading] maps: Multi-Agent Reinforcement Learning Based Portfolio Management System
万字总结数据存储,三大知识点
Implement secondary index with Gaussian redis
随机推荐
Do you have to make money in the account to open an account? Is the fund safe?
论文解读(ValidUtil)《Rethinking the Setting of Semi-supervised Learning on Graphs》
阿洛的烦恼
Jetty:配置连接器[通俗易懂]
How does codesonar help UAVs find software defects?
object-c编程tips-timer「建议收藏」
如何满足医疗设备对安全性和保密性的双重需求?
DataTable数据转换为实体
Is it safe to open an account online now? I want to know where I can open an account in Nanning now?
刚开户的能买什么股票呢?炒股账户安全吗
浅解ARC中的 __bridge、__bridge_retained和__bridge_transfer
反诈困境,国有大行如何破局?
私募基金在中國合法嗎?安全嗎?
Helix QAC 2020.2新版静态测试工具,最大限度扩展了标准合规性的覆盖范围
万字总结数据存储,三大知识点
恶魔奶爸 A3阶段 近常速语流初接触
Deep learning model compression and acceleration technology (VII): mixed mode
Nebula importer data import practice
Helix QAC 2020.2 new static test tool maximizes the coverage of standard compliance
2022年在启牛开中银股票的账户安全吗?