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的更多相关文章

  1. 【USACO】clocks 遇到各种问题 最后还是参考别人的思路

    //放在USACO上一直通不过 不知道哪里出了问题 输出的n总是等于1 但是BFS递归的次数是对的 <----这个问题解决了 局部变量压入queue中返回就是对的了 #include<io ...

  2. Section 1.4 The Clocks

    0 0 虽然不知不觉做到了Section 1.4了,但是都没有把做题的想法和代码发到这里… 本来今天想从Section 1.2补起来然后发现之前做的题都忘了…(Name That Number那道题是 ...

  3. 译《Time, Clocks, and the Ordering of Events in a Distributed System》

    Motivation <Time, Clocks, and the Ordering of Events in a Distributed System>大概是在分布式领域被引用的最多的一 ...

  4. FPGA 关于中间环节生成时钟的约束---Generated clocks

    FPGA 关于中间环节生成时钟的约束---Generated clocks FPGA 的生成时钟,有一个主时钟源,在定义的之后,需要指明主时钟源. 生成时钟主要定义的是:分频,倍频,相移等 二分频时钟 ...

  5. FPGA 主时钟约束---primary clocks

    FPGA 主时钟约束---primary clocks 个人的理解,FPGA做时钟约束的主要目的是给布局布线过程一个指导意义. 注:周期的参数值为ns waveform 里面的第一个参数为波形第一个上 ...

  6. USACO The Clocks

    操作间没有次序关系,同一个操作最多重复3次... 可以直接暴力... The Clocks IOI'94 - Day 2 Consider nine clocks arranged in a 3x3 ...

  7. USACO 6.5 The Clocks

    The ClocksIOI'94 - Day 2 Consider nine clocks arranged in a 3x3 array thusly: |-------| |-------| |- ...

  8. POJ1166 The Clocks (爆搜 || 高斯消元)

    总时间限制: 1000ms,内存限制: 65536kB 描述 |-------| |-------| |-------| | | | | | | | |---O | |---O | | O | | | ...

  9. POJ 1166:The Clocks

    The Clocks Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15357   Accepted: 6230 Descr ...

随机推荐

  1. spring.NET的依赖注入

    谈谈自己了解的spring.NET的依赖注入   spring.net里实现了控制反转IOC(Inversion of control),也即依赖注入DI(Dependency Injection), ...

  2. [转] Building xnu for OS X 10.10 Yosemite

    Source:http://shantonu.blogspot.jp/2014/10/building-xnu-for-os-x-1010-yosemite.html The OS X kernel ...

  3. Topics

    Topics Introduction (starting with old devices) How to handle a new Firmware How to set up your Mac ...

  4. 图解Javascript引用类型之数组

    以图说事明理,恰当时候会事半功陪.今天我就尝试着用图的方式讲讲“JavaScript引用类型之数组”.望更多童鞋给我反馈! 好东西分享给大家,但要尊重事实!!!因此特别说明:本图非我本人亲自所作,乃我 ...

  5. CSS居中方法搜集

    转自这里:http://jinlong.github.io/blog/2013/08/13/centering-all-the-directions/ 兼容低版本IE的方法 html使用表格结构 背景 ...

  6. C++内存中的封装、继承、多态(上)

    C++内存中的封装.继承.多态(上) 继我的上一篇文章:浅谈学习C++时用到的[封装继承多态]三个概念 此篇我们从C++对象内存布局和构造过程来具体分析C++中的封装.继承.多态. 一.封装模型的内存 ...

  7. 让MyEclipse里的Tomcat自动reloadable

    1  修改server.xml Context path="/***" docBase="XXX" reloadable="true"/&g ...

  8. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  9. TOGAF架构内容框架之内容元模型(上)

    TOGAF架构内容框架之内容元模型(上) 2. 内容元模型(Content Metamodel) 在TOGAF的眼中,企业架构是以一系列架构构建块为基础的,并将目录.矩阵和图形作为其具体展现方式.如果 ...

  10. ASP.NET发送电子邮件源码示例

    using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Mail; try { ...