发现对这样的模拟题根本没啥思路了,本来准备用bfs的。可是结果超时了,这是參考别的人代码写的:

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
using namespace std; int main()
{
int a[10],b[10],c[10];
freopen("1166.in","r",stdin);
for(int i = 1; i <= 9; i++)
scanf("%d",&a[i]);
for(b[9]=0;b[9]<=3;++b[9])
for(b[8]=0;b[8]<=3;++b[8])
for(b[7]=0;b[7]<=3;++b[7])
for(b[6]=0;b[6]<=3;++b[6])
for(b[5]=0;b[5]<=3;++b[5])
for(b[4]=0;b[4]<=3;++b[4])
for(b[3]=0;b[3]<=3;++b[3])
for(b[2]=0;b[2]<=3;++b[2])
for(b[1]=0;b[1]<=3;++b[1])
{
c[1]=(a[1]+b[1]+b[2]+b[4])%4;//钟1的状态
c[2]=(a[2]+b[1]+b[2]+b[3]+b[5])%4;//钟2的状态
c[3]=(a[3]+b[2]+b[3]+b[6])%4;//钟3的状态
c[4]=(a[4]+b[1]+b[4]+b[5]+b[7])%4;//钟4的状态
c[5]=(a[5]+b[1]+b[3]+b[5]+b[7]+b[9])%4;//钟5的状态
c[6]=(a[6]+b[3]+b[5]+b[6]+b[9])%4;//钟6的状态
c[7]=(a[7]+b[4]+b[7]+b[8])%4;//钟7的状态
c[8]=(a[8]+b[5]+b[7]+b[8]+b[9])%4;//钟8的状态
c[9]=(a[9]+b[6]+b[8]+b[9])%4;//钟9的状态
if(c[1]+c[2]+c[3]+c[4]+c[5]+c[6]+c[7]+c[8]+c[9]==0)//所有就位
{
for(int i=0;i<b[1];++i)printf("1 ");
for(int i=0;i<b[2];++i)printf("2 ");
for(int i=0;i<b[3];++i)printf("3 ");
for(int i=0;i<b[4];++i)printf("4 ");
for(int i=0;i<b[5];++i)printf("5 ");
for(int i=0;i<b[6];++i)printf("6 ");
for(int i=0;i<b[7];++i)printf("7 ");
for(int i=0;i<b[8];++i)printf("8 ");
for(int i=0;i<b[9];++i)printf("9 ");
printf("\n");
}
}
}

由于是

 1         ABDE

 2         ABC

 3         BCEF

 4         ADG

 5         BDEFH

 6         CFI

 7         DEGH

 8         GHI

 9         EFHI

那么对于第一个钟来说,可以让他状态变化的是操作1和2和4,别的钟类似作法。

从而枚举全部操作,并且这里每一个操作不会超过4次。由于四次后跟0次的效果是一样的。

POJ 1166 The Clocks (暴搜)的更多相关文章

  1. POJ 1166 The Clocks (爆搜 || 高斯消元)

    题目链接 题意: 输入提供9个钟表的位置(钟表的位置只能是0点.3点.6点.9点,分别用0.1.2.3)表示.而题目又提供了9的步骤表示可以用来调正钟的位置,例如1 ABDE表示此步可以在第一.二.四 ...

  2. Poj 1166 The Clocks(bfs)

    题目链接:http://poj.org/problem?id=1166 思路分析:题目要求求出一个最短的操作序列来使所有的clock为0,所以使用bfs: <1>被搜索结点的父子关系的组织 ...

  3. POJ 1167 The Buses 暴搜+剪枝

    思路: 先把能选的路线都预处理出来 按照能停的车的多少排个序 (剪枝1) 搜搜搜 如果当前剩的车÷当前能停车的多少+deep>=ans剪掉 (剪枝2) //By SiriusRen #inclu ...

  4. POJ 1166 The Clocks

    高斯消元法第四个冠军,这个称号是非常令人兴奋~~ 题目大意: 给出9个钟表的状态.给出九种操作,问最少要操作几次能把全部的钟表调回12点. 解题思路: 对于9个钟表分别列方程,然后高斯消元就可以.因为 ...

  5. POJ 1166 The Clocks 高斯消元 + exgcd(纯属瞎搞)

    依据题意可构造出方程组.方程组的每一个方程格式均为:C1*x1 + C2*x2 + ...... + C9*x9 = sum + 4*ki; 高斯消元构造上三角矩阵,以最后一个一行为例: C*x9 = ...

  6. poj 1543 Perfect Cubes (暴搜)

    Perfect Cubes Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 15302   Accepted: 7936 De ...

  7. POJ 1166 The Clocks [BFS] [位运算]

    1.题意:有一组3*3的只有时针的挂钟阵列,每个时钟只有0,3,6,9三种状态:对时针阵列有9种操作,每种操作只对特点的几个时钟拨一次针,即将时针顺时针波动90度,现在试求从初试状态到阵列全部指向0的 ...

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

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

  9. POJ 1945 暴搜+打表 (Or 暴搜+判重)

    思路: 呃呃 暴搜+打表 暴搜的程序::稳稳的TLE+MLE (但是我们可以用来打表) 然后我们就可以打表过了 hiahiahia 可以证明最小的那个数不会超过200(怎么证明的我也不知道),然后就直 ...

随机推荐

  1. B - Helpful Maths

    Problem description Xenia the beginner mathematician is a third year student at elementary school. S ...

  2. 前端编码规范(2)HTML 规范

    文档类型 推荐使用 HTML5 的文档类型申明: <!DOCTYPE html> (建议使用 text/html 格式的 HTML.避免使用 XHTML.XHTML 以及它的属性,比如 a ...

  3. (转)Vue 爬坑之路(二)—— 组件之间的数据传递

    Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,com ...

  4. Go中的main函数和init函数

    Go里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main).这两个函数在定义时不能有任何的参数和返回值.虽然一个package里面可以 ...

  5. OC对象的本质及分类

    Object-C的底层都是通过C/C++来实现的,所以OC中的对象也会转化成C/C++中的某一个数据结构, 我们在终端里通过指令 xcrun -sdk iphoneos clang -arch arm ...

  6. Linux 与 Windows 文件互传(VMWare)

    虚拟机无桌面的Linux 与 物理机Windows 文件互传有很多种方法,现在先说一种通过共享文件夹的形式,其他方法后续再补充 1.     背景 1)        虚拟机系统:VMWare无桌面的 ...

  7. 需要知道的TCP/IP三次握手

    TCP/IP三次握手是TCP协议中比较重要的一个知识点,但是在很多博客中看到的三次握手的过程图很多都不是很正确.我在google找到了一篇写的非常不错的介绍TCP/IP技术文章期中就有三次握手的讲解, ...

  8. hibernate 回顾

    准备jar包

  9. Unicode转换为UTF-8过程Demo

    碎碎念:这几天在学习Python对Unicode的支持 上学的时候,计算机基础课上总能听到老师讲什么字节,字符,Unicode,UTF-8吧啦吧啦一堆,反正我是只记住了名字,至于具体这些名字所表达的含 ...

  10. PAT_A1134#Vertex Cover

    Source: PAT A1134 Vertex Cover (25 分) Description: A vertex cover of a graph is a set of vertices su ...