博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
The Clocks
阅读量:7032 次
发布时间:2019-06-28

本文共 1607 字,大约阅读时间需要 5 分钟。

The Clocks

题目链接:

题意:给出9个时钟的初始状态,问最少通过几次操作,能使每个时钟指向12点(每次操作都会使对应时钟顺时针旋转90度)

暴搜

考虑到每种操作最多进行3次(如果进行4次就和不进行操作一样),直接用49的暴搜

代码如下:

1 #include 
2 #include
3 #include
4 #define pb(x) push_back(x) 5 #define mk(x,y) make_pair(x,y) 6 #define f(x) (x-'A') 7 using namespace std; 8 typedef pair
P; 9 int a[9],ans[9],s[9],Min;10 vector
p[9];11 void check(){12 int sum=0,b[9];13 for(int i=0;i<9;++i)b[i]=a[i];14 for(int i=0;i<9;++i){15 sum+=s[i];16 for(int j=0;j<(int)p[i].size();++j){17 int t=p[i][j];18 b[t]=(b[t]+s[i])%4;19 }20 }21 for(int i=0;i<9;++i)22 if(b[i])return;23 if(sum
=9){30 check();31 return;32 }33 for(int i=0;i<4;++i){34 s[op]=i;35 dfs(op+1);36 }37 }38 int main(void){39 p[0].pb(f('A')),p[0].pb(f('B')),p[0].pb(f('D')),p[0].pb(f('E'));40 p[1].pb(f('A')),p[1].pb(f('B')),p[1].pb(f('C'));41 p[2].pb(f('B')),p[2].pb(f('C')),p[2].pb(f('E')),p[2].pb(f('F'));42 p[3].pb(f('A')),p[3].pb(f('D')),p[3].pb(f('G'));43 p[4].pb(f('B')),p[4].pb(f('D')),p[4].pb(f('E')),p[4].pb(f('F')),p[4].pb(f('H'));44 p[5].pb(f('C')),p[5].pb(f('F')),p[5].pb(f('I'));45 p[6].pb(f('D')),p[6].pb(f('E')),p[6].pb(f('G')),p[6].pb(f('H'));46 p[7].pb(f('G')),p[7].pb(f('H')),p[7].pb(f('I'));47 p[8].pb(f('E')),p[8].pb(f('F')),p[8].pb(f('H')),p[8].pb(f('I'));48 Min=100000000;49 for(int i=0;i<9;++i)scanf("%d",&a[i]);50 dfs(0);51 for(int i=0;i<9;++i)52 for(int j=0;j

 

转载于:https://www.cnblogs.com/barrier/p/6135369.html

你可能感兴趣的文章
互联网广告综述之点击率特征工程
查看>>
HDU3421 Max Sum II【序列处理】
查看>>
POJ NOI MATH-7653 地球人口承载力估计
查看>>
iOS UI高级之网络编程(HTTP协议)
查看>>
使用cocoaPods import导入时没有提示的解决办法
查看>>
iOS数据持久化存储之归档NSKeyedArchiver
查看>>
JavaScript面向对象
查看>>
Intellij修改模板代码
查看>>
2.页面布局示例笔记
查看>>
一些老游戏CPU 100%占用的解决方法
查看>>
f5基本介绍
查看>>
博前语
查看>>
Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
查看>>
郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(一))...
查看>>
python (ploit)
查看>>
Android 用achartengine 画折线图怎么显示不正确
查看>>
程序简单的测试与升级(暨实践第一次作业)
查看>>
信号处理
查看>>
【100题】第五十九题 用C++编写不能被继承的类
查看>>
轻描淡写
查看>>