[bzoj2665] [cqoi2012]编号
首先有一个直观暴力的想法..
枚举每个数,如果这个数可行的话,就加进答案里,然后把和它超过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]编号的更多相关文章
- 【BZOJ 2665】 2665: [cqoi2012]编号(暴力?)
2665: [cqoi2012]编号 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 347 Solved: 217 Description 你需要给一 ...
- bzoj 2665: [cqoi2012]编号
题目中说任意两个数至少要有3个位上数不相同,那么其实也就是从7个数中选出5个这样任意的组合全部不同,用数组f[i][j][k][l][m][n]记一下就好了,i为第几种组合,一共C(7,5)种,最后爆 ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- [BZOJ2667][cqoi2012]模拟工厂 贪心
2667: [cqoi2012]模拟工厂 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 367 Solved: 184[Submit][Status] ...
- 【BZOJ2666】[cqoi2012]组装 贪心
[BZOJ2666][cqoi2012]组装 Description 数轴上有m个生产车间可以生产零件.一共有n种零件,编号为1~n.第i个车间的坐标为xi,生产第pi种零件(1<=pi< ...
- [No0000A8]Word中设置图片下的题注及插入多级列表编号
1.什么是题注? 2.怎么实现一个可以自动更新的题注? 只有先定义好文档编号后,才可以设置出正确的图片下标题注. 文章的结构可以通过导航窗口导航. 导航窗口打开方式. 3.设置好文档编号后,怎样插入 ...
- sql server如何分组编号
我们在生产实践中经常会有这样的需求:分组编号. 如下有一个城市区域表region: 我们需要对上表region按city分组,对region进行排序,得到如下结果: 具体sql如下: select c ...
- MathType6.9按章节插入编号
先插入Chapter,然后修改break主要是该起始编号. 这样话会用一行红色红代码,选中,邮件字体,然后在格式里选择隐藏就好了,这个不能删除.
- latex公式编号
1 \begin{flalign*} 2 % In this way (this arrange of &), the equation will in the center and alig ...
随机推荐
- C#中MessageBox用法大全(转)
我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~&quo ...
- mac下配置caffe
Step1:安装homebrew 如果电脑上有,暂时不装.但是在step2(或者其他需要brew的情况)加完sudo之后如果仍然报错,就需要重新安装homebrew.在终端里输入如下命令: ruby ...
- Asp.net常用开发方法之DataTable/DataReader转Json格式代码
public static string JsonParse(OleDbDataReader dataReader) //DataRead转json { StringBuilder jsonStrin ...
- 手动安装cloudera manager 5.x(tar包方式)详解
官方共给出了3中安装方式:第一种方法必须要求所有机器都能连网,由于最近各种国外的网站被墙的厉害,我尝试了几次各种超时错误,巨耽误时间不说,一旦失败,重装非常痛苦.第二种方法下载很多包.第三种方法对系统 ...
- python学习中的一些“坑”
一.交互列表元素时,需要注意的坑. 例如: array=[4,5,9,8,10,8,4,0,3,4] 最大的值与第一个元素交换,最小的值与最后一个元素交换 # -*- coding: UTF-8 - ...
- Struts2-整理笔记(四)Action生命周期、如何获取参数(3种)、集合类型参数封装
一.Action生命周期 每次请求到来时,都会创建一个新的Action实例 Action是线程安全的,可以使用成员变量接收参数 二.获取参数的方式(3种) 1.属性驱动获得参数 每次请求Action时 ...
- 删除SVN版本信息的两种方式
一.在linux下删除SVN版本信息 删除这些目录是很简单的,命令如下 find . -type d -name ".svn"|xargs rm -rf 或者 find . -ty ...
- vue2 过渡 轮播图
---恢复内容开始--- Vue主要渲染条件: v-if:是将元素删除再创造出来进行渲染. v-show:是将元素的display=none掉,再进行渲染: 要点知识:v-key:唯一元素标识,若不设 ...
- EditTable可编辑的表格
EditTable可编辑的表格 EditTable基于tabel布局的表格,表格内容单击可以编辑,编辑完毕即可显示新的内容: ESC按键可以撤销编辑,返回原有内容. 点击"添加& ...
- 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器
网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 论述当下网络时间同步的重要性 北京华人开创科技发展有限公 ...