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 ...
随机推荐
- C#.Net获取Mac等PC信息
using System.Management; using System.Net; public class PCInfoHelper { /// <summary> /// 操作系统的 ...
- [转]Iphone m3u8 segmenter from ffmpeg for video streaming
源地址:http://lukasz.cepowski.com/devlog/30,iphone-m3u8-segmenter-from-ffmpeg-for-video-streaming Recen ...
- Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布
Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布 来自官方日志的喜悦 被誉为全新开始的消息分析器 ...
- 依赖注入DI
说AOP不得不提依赖注入,先来看看一个实例.通过实例来解释依赖注入和它的用途. 我们现在要设计一个关于衣服的上架功能,有时候需要进行促销,我们现在知道的促销方式有打1折,和打2折. 最初的方案: pu ...
- visio UML用例里面找不到include关系
今天用Microsoft Visio 2007画用例图时,发现visio UML用例里面找不到include关系,查到一个可行的解决办法: 1)创建一个UML用例图模板:打开Microsoft Vi ...
- [基础]RHEL6下LINUX服务器批量部署
包准备:xinetd,tftp-server,dhcp,httpd,system-config-kickstart,syslinux,nfs 试验环境: 本机地址:192.168.46.98 ...
- EZOJ 网同14(蛋蛋与北大信科-Splay的颜色分离,寻找结点所在子树)
蛋蛋与北大信科 总时限 10s 内存限制 256MB 出题人 lydrainbowcat 提交情况 1/25 背景 琰琰(孩纸们读作:蛋蛋)是妙峰书苑的一名萌萌哒教师,她的夫君(孩纸们称之为:北大信科 ...
- KL25的AD采集操作
飞思卡尔的KL25单片机AD做的是很不错的,SAR型能做到16位.不过数据手册就写得不怎么样了,简直可以说是坑爹,很难看懂.有的描述让人难以理解,你指望在别的地方对不理解的地方会有其他角度的描述,结果 ...
- Linux 内核源码中likely()和unlikely()
ikely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢? 首先明确: if (likely(value))等价于if (value)if (likely( ...
- Josephus问题的不同实现方法与总结
/************************************************************************/ /* Josephus问题--数组实现 */ /* ...