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. QuickWebApi:使用Lambada方式,完成对WebApi的开发和调用。

    QuickWebApi 目的:使用Lambada方式,完成对WebApi的开发和调用. 缘由:为了解耦服务和展现,将越来越多的使用WebApi提供各种服务:随着服务的细化,WebApi的接口将越来越多 ...

  2. iOS 动画类型 笔记

    #pragma mark Core Animation - (IBAction)buttonPressed1:(id)sender { UIButton *button = (UIButton *)s ...

  3. SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)

    SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析) 2013-8-20 1.    SQL查询表的行列转换/小计/统计(with  rollup,with ...

  4. 记录下自己写的gulp打包脚本

    var c = { rootPath: 'src',//项目文件夹 outputPath: 'output',//文件编译后的输出目录 revPath: 'manifest',//rev映射文件目录 ...

  5. 我是如何理解ThreadLocal

    ThreadLocal的概念 ThreadLocal从英文的角度看,可以看成thread和local的组合,就是线程本地的意思,我们都知道,看过jvm内存分配的人都知道在jvm虚拟机中对每一个线程都分 ...

  6. Linq 更改主键值

    有一个班级表,主键是class_id,在管理班级时要进行逻辑删除,而只是单纯的is_del字段(记录每条数据是否有效)更改为true,主键class_id如果不变动,在再次增加一个班级时,其主键如果和 ...

  7. [每日一题] OCP1z0-047 :2013-07-22 group by 子句

    这道题就是考where group by having的顺序... 答案A不正确:where应该放在group by前面 答案B不正确:having子句是用多行函数(sum,avg,max,min,c ...

  8. 图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现

    上篇文章主要介绍了Ford-Fulkerson方法的理论基础,本篇给出一种Java的实现. 先借助伪代码熟悉下流程 FORD-FULKERSON(G,t,s) 1 for each edge(u,v) ...

  9. 解决Eclipse一直loading workbench无法启动的问题

    不知怎地,Eclipse始终停留在Loading workbench状态.反复重启,状态依旧.尝试解决. 停止时显示的状态:”Loading workbench”,看来和这个workbench插件有关 ...

  10. mysql 数据库 简单存储过程游标使用

    BEGIN #Routine body goes here... DECLARE no_more_record INT DEFAULT 0; DECLARE TEST_ID INT(20); DECL ...