The Clocks
The Clocks
题目链接:http://poj.org/problem?id=1166
题意:给出9个时钟的初始状态,问最少通过几次操作,能使每个时钟指向12点(每次操作都会使对应时钟顺时针旋转90度)
暴搜
考虑到每种操作最多进行3次(如果进行4次就和不进行操作一样),直接用49的暴搜
代码如下:
#include <cstdio>
#include <vector>
#include <cstring>
#define pb(x) push_back(x)
#define mk(x,y) make_pair(x,y)
#define f(x) (x-'A')
using namespace std;
typedef pair<int,int> P;
int a[],ans[],s[],Min;
vector<int>p[];
void check(){
int sum=,b[];
for(int i=;i<;++i)b[i]=a[i];
for(int i=;i<;++i){
sum+=s[i];
for(int j=;j<(int)p[i].size();++j){
int t=p[i][j];
b[t]=(b[t]+s[i])%;
}
}
for(int i=;i<;++i)
if(b[i])return;
if(sum<Min){
Min=sum;
for(int i=;i<;++i)ans[i]=s[i];
}
}
void dfs(int op){
if(op>=){
check();
return;
}
for(int i=;i<;++i){
s[op]=i;
dfs(op+);
}
}
int main(void){
p[].pb(f('A')),p[].pb(f('B')),p[].pb(f('D')),p[].pb(f('E'));
p[].pb(f('A')),p[].pb(f('B')),p[].pb(f('C'));
p[].pb(f('B')),p[].pb(f('C')),p[].pb(f('E')),p[].pb(f('F'));
p[].pb(f('A')),p[].pb(f('D')),p[].pb(f('G'));
p[].pb(f('B')),p[].pb(f('D')),p[].pb(f('E')),p[].pb(f('F')),p[].pb(f('H'));
p[].pb(f('C')),p[].pb(f('F')),p[].pb(f('I'));
p[].pb(f('D')),p[].pb(f('E')),p[].pb(f('G')),p[].pb(f('H'));
p[].pb(f('G')),p[].pb(f('H')),p[].pb(f('I'));
p[].pb(f('E')),p[].pb(f('F')),p[].pb(f('H')),p[].pb(f('I'));
Min=;
for(int i=;i<;++i)scanf("%d",&a[i]);
dfs();
for(int i=;i<;++i)
for(int j=;j<ans[i];++j)
printf("%d ",i+);
}
The Clocks的更多相关文章
- 【USACO】clocks 遇到各种问题 最后还是参考别人的思路
//放在USACO上一直通不过 不知道哪里出了问题 输出的n总是等于1 但是BFS递归的次数是对的 <----这个问题解决了 局部变量压入queue中返回就是对的了 #include<io ...
- Section 1.4 The Clocks
0 0 虽然不知不觉做到了Section 1.4了,但是都没有把做题的想法和代码发到这里… 本来今天想从Section 1.2补起来然后发现之前做的题都忘了…(Name That Number那道题是 ...
- 译《Time, Clocks, and the Ordering of Events in a Distributed System》
Motivation <Time, Clocks, and the Ordering of Events in a Distributed System>大概是在分布式领域被引用的最多的一 ...
- FPGA 关于中间环节生成时钟的约束---Generated clocks
FPGA 关于中间环节生成时钟的约束---Generated clocks FPGA 的生成时钟,有一个主时钟源,在定义的之后,需要指明主时钟源. 生成时钟主要定义的是:分频,倍频,相移等 二分频时钟 ...
- FPGA 主时钟约束---primary clocks
FPGA 主时钟约束---primary clocks 个人的理解,FPGA做时钟约束的主要目的是给布局布线过程一个指导意义. 注:周期的参数值为ns waveform 里面的第一个参数为波形第一个上 ...
- USACO The Clocks
操作间没有次序关系,同一个操作最多重复3次... 可以直接暴力... The Clocks IOI'94 - Day 2 Consider nine clocks arranged in a 3x3 ...
- USACO 6.5 The Clocks
The ClocksIOI'94 - Day 2 Consider nine clocks arranged in a 3x3 array thusly: |-------| |-------| |- ...
- POJ1166 The Clocks (爆搜 || 高斯消元)
总时间限制: 1000ms,内存限制: 65536kB 描述 |-------| |-------| |-------| | | | | | | | |---O | |---O | | O | | | ...
- POJ 1166:The Clocks
The Clocks Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15357 Accepted: 6230 Descr ...
随机推荐
- ESB与SOA的关系
ESB与SOA的关系 一.SOA和ESB一直是没有明确概念的两个缩略词 SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服 ...
- SQL Server的数据加密简介
防止开发人员获取到敏感数据(SQL Server的数据加密简介) 背景 有时候,我们还真的会碰到这样的需求:防止开发人员获取到敏感数据.也许你觉得很简单,把开发和运营分开不就可以了吗?是的,如果公司有 ...
- 使用PetaPoco结合注入实现业务级事务
使用PetaPoco结合注入实现业务级事务 PetaPoco是一个轻量级ORM,我的MVC项目中使用它结合Repository模式,依靠Unity的生命周期管理对象,保证请求/线程级别的数据上下文 ...
- IIS日志字段详解
IIS日志字段详解 抓住8月的尾巴,弥补下这个月的空白,事情太多,忘了写博客这回事了. IIS日志字段设置 网站运营时 ...
- Redis系统学习 四、超越数据结构
5种数据结构组成了Redis的基础,其他没有关联特定数据结构的命令也有很多.我们已经看过一些这样的命令:info,select,flushdb,multi,exec,discard,watch,和ke ...
- .NET框架设计—常被忽视的C#设计技巧
.NET框架设计—常被忽视的C#设计技巧 阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你 ...
- 常见缓存算法和LRU的c++实现
对于web开发而言,缓存必不可少,也是提高性能最常用的方式.无论是浏览器缓存(如果是chrome浏览器,可以通过chrome:://cache查看),还是服务端的缓存(通过memcached或者red ...
- C#中的集合类——HashTable
HashTable 被称为键值对集合,类似于字典,根据key可以找到value 键值对对象[键]=值;键值对集合当中,键必须是唯一的,而值是可以重复的 1. HashTable的用法 //创建了一个键 ...
- office全系列激活脚本-改良版
@ECHO OFFTITLE office 全版本系统激活@echo offfor /l %%a in (8,1,16) do (for /f "tokens=*" %%i in ...
- 百度地图API的自动定位和搜索功能(移动端)
近期有个项目涉及到百度地图API,要求做到自动定位和搜索功能.煞费苦心的研究半天,终于能将两个功能合二为一,现将代码贴出来分享给大家,希望你们的砖搬得又快又好.注释不多,具体请参照:http://lb ...