首先有一个直观暴力的想法..

  枚举每个数,如果这个数可行的话,就加进答案里,然后把和它超过4个位置相同的数去掉。

  然后正解真的是这个>_<

  假设取到了数x,只要和x有5位相同的数就可以排除掉..

  暴力C(7,5)=21种枚举那5个位置是啥,f[id][i][j][k][a][b]表示第id种位置,5个位置上的数是i,j,k,a,b,是否被已排除。

  一个数可行的话,就得21种位置上的数都没被排除。

  这复杂度竟然能过....O(16^7)

 #include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#define ll long long
#define d double
using namespace std;
const int maxn=;
bool f[][][][][][]; int ra;char rx;
inline int read(){
rx=getchar(),ra=;
while(rx<''||rx>'')rx=getchar();
while(rx>=''&&rx<='')ra*=,ra+=rx-,rx=getchar();return ra;
}
inline void outx(int i,int j,int k,int l,int a,int b,int c){
int v[]={'','','','','','','','','','','a','b','c','d','e','f'};
printf("%c%c%c%c%c%c%c\n",v[i],v[j],v[k],v[l],v[a],v[b],v[c]);
}
int main(){
int i,j,k,n;register int l,a,b,c;
n=read();
for(i=;i<;i++)for(j=;j<;j++)for(k=;k<;k++)for(l=;l<;l++)for(a=;a<;a++)for(b=;b<;b++)for(c=;c<;c++)
if(
!f[][i][j][k][l][a]
&&!f[][i][j][k][l][b]
&&!f[][i][j][k][a][b]
&&!f[][i][j][l][a][b]
&&!f[][i][k][l][a][b]
&&!f[][j][k][l][a][b]
&&!f[][i][j][k][l][c]
&&!f[][i][j][k][a][c]
&&!f[][i][j][l][a][c]
&&!f[][i][k][l][a][c]
&&!f[][j][k][l][a][c]
&&!f[][i][j][k][b][c]
&&!f[][i][j][l][b][c]
&&!f[][i][k][l][b][c]
&&!f[][j][k][l][b][c]
&&!f[][i][j][a][b][c]
&&!f[][i][k][a][b][c]
&&!f[][j][k][a][b][c]
&&!f[][i][l][a][b][c]
&&!f[][j][l][a][b][c]
&&!f[][k][l][a][b][c]
){
n--;
if(!n){outx(i,j,k,l,a,b,c);return ;}
f[][i][j][k][l][a]
=f[][i][j][k][l][b]
=f[][i][j][k][a][b]
=f[][i][j][l][a][b]
=f[][i][k][l][a][b]
=f[][j][k][l][a][b]
=f[][i][j][k][l][c]
=f[][i][j][k][a][c]
=f[][i][j][l][a][c]
=f[][i][k][l][a][c]
=f[][j][k][l][a][c]
=f[][i][j][k][b][c]
=f[][i][j][l][b][c]
=f[][i][k][l][b][c]
=f[][j][k][l][b][c]
=f[][i][j][a][b][c]
=f[][i][k][a][b][c]
=f[][j][k][a][b][c]
=f[][i][l][a][b][c]
=f[][j][l][a][b][c]
=f[][k][l][a][b][c]
=;
}
}

[bzoj2665] [cqoi2012]编号的更多相关文章

  1. 【BZOJ 2665】 2665: [cqoi2012]编号(暴力?)

    2665: [cqoi2012]编号 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 347  Solved: 217 Description 你需要给一 ...

  2. bzoj 2665: [cqoi2012]编号

    题目中说任意两个数至少要有3个位上数不相同,那么其实也就是从7个数中选出5个这样任意的组合全部不同,用数组f[i][j][k][l][m][n]记一下就好了,i为第几种组合,一共C(7,5)种,最后爆 ...

  3. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  4. [BZOJ2667][cqoi2012]模拟工厂 贪心

    2667: [cqoi2012]模拟工厂 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 367  Solved: 184[Submit][Status] ...

  5. 【BZOJ2666】[cqoi2012]组装 贪心

    [BZOJ2666][cqoi2012]组装 Description 数轴上有m个生产车间可以生产零件.一共有n种零件,编号为1~n.第i个车间的坐标为xi,生产第pi种零件(1<=pi< ...

  6. [No0000A8]Word中设置图片下的题注及插入多级列表编号

    1.什么是题注? 2.怎么实现一个可以自动更新的题注?  只有先定义好文档编号后,才可以设置出正确的图片下标题注. 文章的结构可以通过导航窗口导航. 导航窗口打开方式. 3.设置好文档编号后,怎样插入 ...

  7. sql server如何分组编号

    我们在生产实践中经常会有这样的需求:分组编号. 如下有一个城市区域表region: 我们需要对上表region按city分组,对region进行排序,得到如下结果: 具体sql如下: select c ...

  8. MathType6.9按章节插入编号

    先插入Chapter,然后修改break主要是该起始编号. 这样话会用一行红色红代码,选中,邮件字体,然后在格式里选择隐藏就好了,这个不能删除.

  9. latex公式编号

    1 \begin{flalign*} 2 % In this way (this arrange of &), the equation will in the center and alig ...

随机推荐

  1. python变量字符拼接

    cpu = instances['vcpus_current'] cpu1 = str(cpu) + '核' memory = instances['memory_current'] / 1024 m ...

  2. ArcGIS 网络分析[8.6] 资料6 创建网络分析图层及进行路径分析

    基于上篇所介绍的内容,就说说如何利用访问到的网络数据集,在Map中添加网络数据集图层.创建网络分析图层中的路径图层,并执行路径分析示例.

  3. ArcGIS 网络分析[8.3] 设置IDENetworkDataset的属性及INetworkDataset的对比/创建网络数据集

    创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENet ...

  4. 详解PHP反射API

    PHP中的反射API就像Java中的java.lang.reflect包一样.它由一系列可以分析属性.方法和类的内置类组成.它在某些方面和对象函数相似,比如get_class_vars(),但是更加灵 ...

  5. JMeter参数化实现

     参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三次系统,每次用不同的用户名和密码. 1.1.1. 从csv文件读取(CSV Data Set Config) 步骤: 1)新建一个文 ...

  6. Linux下安装破解JIRA 6.3.6 并连接MYSQL5

    序言 JIRA是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷.任务.需求.改进等.JIRA采用J2EE技术,能够跨平台部署.它正被 ...

  7. APP开发选择什么框架好? 请看这里!

    背景 App的开发一般都需要满足Android和iOS两个系统环境,也就意味着一个App需要定制两套实现方案,造成开发成本和维护成本都很高.为了解决这个问题,最好的办法就是实现一套代码跨端运行,所以H ...

  8. javascript中对象字面量与数组字面量

    第一部分 我们知道JavaScript中的数据类型有基本数据类型和引用类型,其中Object类型就是非常常用的类型.那么如果创建一个Object类型的实例呢?下面我介绍两种方法: 第一:构造函数法. ...

  9. js设置元素class方法小结及classList相关

        给DOM元素设置class是我们在项目中非常容易遇到的,网上的资料和总结也比较多,下面比较全面的整理一下,希望给到大家一些帮助!并引用两种成熟的classList的兼容方法 一.el.setA ...

  10. javascript 之作用域链-10

    前言 在<执行环境>文中说到,当JavaScript代码执行一段可执行代码时,会创建对应的执行上下文(execution context). 变量对象(Variable object,VO ...