题目描述:

  有3*3的9个时钟,每个始终有0,1,2,3四种可以循环的状态码,每组数据给我们9个时钟的一种状态码。另外还有9种操作,分别使指定位置的时钟状态码加一,求使得9个时钟状态码全部置于0的最少操作数。

思路:

  可以得知,每种操作数若执行了四次,则等同于不操作,所以每种操作数的次数在0-3之间,另外,题目明确告诉我们,每种状态只有一种答案。4^9,数据规模不大,把9种操作对应的位置存入一个数组,直接爆搜,也不用考虑什么情况。

  后来想了一下,这题应该可以用高斯消元做,效率可以提高很多。

  最后的输出格式多了一个空格,要处理的话比较麻烦,提交竟然AC了。

#include<cstdio>
#include<iostream>
using namespace std; int move[][] = {{},{,,,,,,},{,,,,},{,,,,,,},{,,,,,,,,},{,,,,,,,,,},
{,,,,,,,,,},{,,,,,,,,,},{,,,,,,,,,},{,,,,,,,,,}}; int main()
{
int a[];
for(int i = ;i <= ;i++) cin >> a[i];
int i1,i2,i3,i4,i5,i6,i7,i8,i9;
for(i1 = ;i1 <= ;i1++)
for(i2 = ;i2 <= ;i2++)
for(i3 = ;i3 <= ;i3++)
for(i4 = ;i4 <= ;i4++)
for(i5 = ;i5 <= ;i5++)
for(i6 = ;i6 <= ;i6++)
for(i7 = ;i7 <= ;i7++)
for(i8 = ;i8 <= ;i8++)
for(i9 = ;i9 <= ;i9++)
{
int flag = ;
for(int j = ;j <= ;j++)
{
int sum = a[j];
sum += i1*move[][j]+i2*move[][j]+i3*move[][j]
+i4*move[][j]+i5*move[][j]+i6*move[][j]
+i7*move[][j]+i8*move[][j]+i9*move[][j];
if(sum%)
{
flag = ;
break;
}
}
if(flag) continue; while(i1--) cout << "1 ";
while(i2--) cout << "2 ";
while(i3--) cout << "3 ";
while(i4--) cout << "4 ";
while(i5--) cout << "5 ";
while(i6--) cout << "6 ";
while(i7--) cout << "7 ";
while(i8--) cout << "8 ";
while(i9--) cout << "9 ";
cout << endl;
return ;
}
}

POJ_1166_暴搜的更多相关文章

  1. 【BZOJ-3033】太鼓达人 欧拉图 + 暴搜

    3033: 太鼓达人 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 204  Solved: 154[Submit][Status][Discuss] ...

  2. c++20701除法(刘汝佳1、2册第七章,暴搜解决)

    20701除法 难度级别: B: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述     输入正整数n,按从小到大的顺序输出所有 ...

  3. Codeforces Round #238 (Div. 2) D. Toy Sum 暴搜

    题目链接: 题目 D. Toy Sum time limit per test:1 second memory limit per test:256 megabytes 问题描述 Little Chr ...

  4. poj 3080 Blue Jeans(水题 暴搜)

    题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...

  5. Sicily1317-Sudoku-位运算暴搜

    最终代码地址:https://github.com/laiy/Datastructure-Algorithm/blob/master/sicily/1317.c 这题博主刷了1天,不是为了做出来,AC ...

  6. codeforces 339C Xenia and Weights(dp或暴搜)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Xenia and Weights Xenia has a set of weig ...

  7. Usaco 2.3 Zero Sums(回溯DFS)--暴搜

    Zero SumConsider the sequence of digits from 1 through N (where N=9) in increasing order: 1 2 3 ... ...

  8. HDU4403(暴搜)

    A very hard Aoshu problem Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  9. suoi62 网友跳 (暴搜+dp)

    传送门 sbw太神啦orz 首先N<=20可以直接暴搜 然后玄学剪枝可以过18个点 那么N<=40的时候,就把它拆成两半分别暴搜,再用dp拼起来 对于前半段,设f[i][j]是开始高度为i ...

随机推荐

  1. Google 开源的 Python 命令行库:深入 fire(二)

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  2. oracle中使用pl/sql进行的文件读写操作

    第一次知道,可以使用pl/sql来进行文件的读写操作,嘿嘿,简单的试了下可行. 基本步骤如下: SQL> conn sys/sys@orcl as sysdba 已连接. SQL> cre ...

  3. 微信小程序订阅消息,我踩过的坑都在这里了!

    旧的模板消息将在 2020 年 1 月 10 号全面下架,也就是今天,不过貌似现在还可以用!!!我已经改好了,只不过还没有上线,准备坚持到最后一天! 0.订阅消息 简单介绍一下订阅消息的特点: 用户授 ...

  4. Keystone V3 API Examples

    There are few things more useful than a set of examples when starting to work with a new API. Here a ...

  5. Java 中的四种权限修饰符

    * * private: * Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”. * 被其修饰的属性以及方法只能被该类的对象 访问,其子类不能访问,更不能允许跨包访问. * * def ...

  6. c++快读与快输模板

    快读 inline int read() { ; ; char ch=getchar(); ; ch=getchar();} )+(X<<)+ch-'; ch=getchar();} if ...

  7. Python线程-死锁

    死锁产生的4个必要条件:    1.互斥:一个资源同一时刻只允许一个线程进行访问.    2.占有未释放:一个线程占有资源,且没有释放资源.    3.不可抢占:一个已经占有资源的线程无法抢占到其他线 ...

  8. Elasticsearch 开箱指南

    内容概要 ES 基础介绍,重点是其中的核心概念. 基础 API 实践操作. 1. 基础介绍 Elasticsearch (ES) 是一个数据库,提供了分布式的.准实时搜索和分析. 基于 Apache ...

  9. 嵩天老师python网课爬虫实例1的问题和解决方法

    一,AttributeError: 'NoneType' object has no attribute 'children', 网页'tbody'没有子类 很明显,报错的意思是说tbody下面没有c ...

  10. vue-DevTools安装使用

    方式一:通过谷歌应用商店进行安装 vue devtools 方式二:手动安装  下载https://github.com/vuejs/vue-devtools 安装 方式一:打开谷歌浏览器 点击扩展程 ...