当前位置:网站首页>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
边栏推荐
- ERROR: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
- Cocos2d-x game archive [easy to understand]
- Klocwork code static analysis tool
- 阿里云有奖体验:如何通过ECS挂载NAS文件系统
- 目前股票开户安全吗?可以直接网上开户吗。
- 死锁的产生条件和预防处理[通俗易懂]
- 智能软件分析平台Embold
- 使用高斯Redis实现二级索引
- Dachang classic pointer written test questions
- 想杀死某个端口进程,但在服务列表中却找不到,可以之间通过命令行找到这个进程并杀死该进程,减少重启电脑和找到问题根源。
猜你喜欢
Tensorflow2. How to run under x 1 Code of X
Intelligent software analysis platform embold
How does codesonar help UAVs find software defects?
解决使用uni-app MediaError MediaError ErrorCode -5
神兵利器——敏感文件发现工具
Cantata9.0 | new features
Tensorflow2.x下如何运行1.x的代码
Details of C language integer and floating-point data storage in memory (including details of original code, inverse code, complement, size end storage, etc.)
不落人后!简单好用的低代码开发,快速搭建智慧管理信息系统
I Basic concepts
随机推荐
恶魔奶爸 B3 少量泛读,完成两万词汇量+
[paper reading] maps: Multi-Agent Reinforcement Learning Based Portfolio Management System
Alibaba cloud award winning experience: how to mount NAS file system through ECS
ERROR: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
How to choose fund products? What fund is suitable to buy in July 2022?
国家正规的股票交易app有哪些?使用安不安全
Small guide for rapid formation of manipulator (11): standard nomenclature of coordinate system
Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation
Mongodb learn from simple to deep
软件缺陷静态分析 CodeSonar 5.2 新版发布
恶魔奶爸 B1 听力最后壁垒,一鼓作气突破
[UVALive 6663 Count the Regions] (dfs + 离散化)[通俗易懂]
95年专注安全这一件事 沃尔沃未来聚焦智能驾驶与电气化领域安全
Referrer和Referrer-Policy简介
Codeforces Round #275 (Div. 2) C – Diverse Permutation (构造)[通俗易懂]
What are the official stock trading apps in the country? Is it safe to use
论文解读(ValidUtil)《Rethinking the Setting of Semi-supervised Learning on Graphs》
Intelligent transportation is full of vitality. What will happen in the future? [easy to understand]
Flask1.1.4 Werkzeug1.0.1 源码分析:路由
Codesonar enhances software reliability through innovative static analysis