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 ...
随机推荐
- QuickWebApi:使用Lambada方式,完成对WebApi的开发和调用。
QuickWebApi 目的:使用Lambada方式,完成对WebApi的开发和调用. 缘由:为了解耦服务和展现,将越来越多的使用WebApi提供各种服务:随着服务的细化,WebApi的接口将越来越多 ...
- iOS 动画类型 笔记
#pragma mark Core Animation - (IBAction)buttonPressed1:(id)sender { UIButton *button = (UIButton *)s ...
- SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析) 2013-8-20 1. SQL查询表的行列转换/小计/统计(with rollup,with ...
- 记录下自己写的gulp打包脚本
var c = { rootPath: 'src',//项目文件夹 outputPath: 'output',//文件编译后的输出目录 revPath: 'manifest',//rev映射文件目录 ...
- 我是如何理解ThreadLocal
ThreadLocal的概念 ThreadLocal从英文的角度看,可以看成thread和local的组合,就是线程本地的意思,我们都知道,看过jvm内存分配的人都知道在jvm虚拟机中对每一个线程都分 ...
- Linq 更改主键值
有一个班级表,主键是class_id,在管理班级时要进行逻辑删除,而只是单纯的is_del字段(记录每条数据是否有效)更改为true,主键class_id如果不变动,在再次增加一个班级时,其主键如果和 ...
- [每日一题] OCP1z0-047 :2013-07-22 group by 子句
这道题就是考where group by having的顺序... 答案A不正确:where应该放在group by前面 答案B不正确:having子句是用多行函数(sum,avg,max,min,c ...
- 图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现
上篇文章主要介绍了Ford-Fulkerson方法的理论基础,本篇给出一种Java的实现. 先借助伪代码熟悉下流程 FORD-FULKERSON(G,t,s) 1 for each edge(u,v) ...
- 解决Eclipse一直loading workbench无法启动的问题
不知怎地,Eclipse始终停留在Loading workbench状态.反复重启,状态依旧.尝试解决. 停止时显示的状态:”Loading workbench”,看来和这个workbench插件有关 ...
- mysql 数据库 简单存储过程游标使用
BEGIN #Routine body goes here... DECLARE no_more_record INT DEFAULT 0; DECLARE TEST_ID INT(20); DECL ...