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

  枚举每个数,如果这个数可行的话,就加进答案里,然后把和它超过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. 用html和css轻松实现康奈尔笔记(5R笔记)模板

    缘起 人家都说康奈尔笔记法,很好用呢,能抵抗遗忘曲线,让你的笔记事半功倍,有兴趣的同学自行百度哈. 网上有很多现成的模板,下载下来之后吧,看着好像在上面写英文可能更方便一点,行距很小,而且还有网址在上 ...

  2. Cat 跨线程之 TaggedTransaction 用法和原理分析

    代码 package com.dianping.cat.message.internal; import com.dianping.cat.Cat; import com.dianping.cat.m ...

  3. CAS在Java类中的应用

    CAS 这个指令全称 compare and swap 即比较替换指令,在现代处理器新加入的指令.指导思想:基于乐观锁机制.比较一个变量在内存值中的值和变量的当前值(旧值).如果相等,则认为该变量没有 ...

  4. js、jQuery、layer实现弹出层的打开、关闭

    打开layer layer.open({ type: 2, title: '新增收货地址', shadeClose: true,//点击阴影关闭 shade: 0.8, area: ['900px', ...

  5. Spark源码剖析(八):stage划分原理与源码剖析

    引言 对于Spark开发人员来说,了解stage的划分算法可以让你知道自己编写的spark application被划分为几个job,每个job被划分为几个stage,每个stage包括了你的哪些代码 ...

  6. Python的类与类型

    1.经典类与新式类 在了解Python的类与类型前,需要对Python的经典类(classic classes)与新式类(new-style classes)有个简单的概念. 在Python 2.x及 ...

  7. 理解SynchronizationContext,如何在Winform里面跨线程访问UI控件

    SynchronizationContext 类是一个基类,可提供不带同步的自由线程上下文. 此类实现的同步模型的目的是使公共语言运行库内部的异步/同步操作能够针对不同的异步模型采取正确的行为.此模型 ...

  8. [闲的蛋疼系列]从零开始用TypeScript写React的UI组件(0)-先写一个Button??

    0.咸鱼要说的 一入前端深似海,咸鱼入海更加咸. 最近闲的蛋疼,手上年前的事也完成了7788了,借助[PG1]的话来说,我们要keep real. 咸鱼肯定不real 了,因为我们都活在梦里,所以咱们 ...

  9. C# 的基本数据类型

    bool System.Boolean 4Byte 32bit布尔型变量 逻辑值,true或者false,默认值为false byte System.Byte 1Byte 8bit无符号整数无符号的字 ...

  10. C#串口发送数据

    使用指定的端口名.波特率.奇偶校验位.数据位和停止位初始化 SerialPort 类的新实例 SerialPort serialPort = new SerialPort("COM3&quo ...