题目链接

题意:

输入提供9个钟表的位置(钟表的位置只能是0点、3点、6点、9点,分别用0、1、2、3)表示。而题目又提供了9的步骤表示可以用来调正钟的位置,例如1 ABDE表示此步可以在第一、二、四、五个钟调正,如原来是0点,那么调正后为3点。问经过那些步骤可以导致9个钟的位置都在0点。

分析:

这个本来是一个高斯消元的题目,但是 听说周期4不是素数, 求解过程中不能进行取余。因为取余可能导致解集变大。

不过也有用高斯消元做的,下面是用高斯消元的分析

Discuss也有人讨论了,4不是质数,求解过程中不能模4,不一定有解的问题。按照我的理解,题目既然说了有唯一解,就不用考虑这个问题了。

另外,寻找当前列的对应行时不能选绝对值最大的,会WA。具体原因不详

这个题也可以用逆矩阵做,下面有代码,代码来自:http://blog.csdn.net/sf____/article/details/9863927

爆搜的特点:

操作对环境的改变是无序的,每个操作都会影响到周围的状态。
同时每一种操作都有周期性限制,也即最多需要几次操作,多于这个次数产生循环。

这里,有4种循环的状态,因此每个移动操作顶多使用3次。

爆搜代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#define LL __int64
const int maxn = +;
const int INF = <<;
using namespace std; int main()
{
int x,a[],i[],j[];
for(x=; x<=; x++)
scanf("%d",&a[x]);
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
for(i[]=; i[]<=; i[]++)
{
j[]=(a[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[]+i[])%;
j[]=(a[]+i[]+i[]+i[])%;
if(j[]+j[]+j[]+j[]+j[]+j[]+j[]+j[]+j[]==)
{
for(x=; x<i[]; x++) printf("1 ");
for(x=; x<i[]; x++) printf("2 ");
for(x=; x<i[]; x++) printf("3 ");
for(x=; x<i[]; x++) printf("4 ");
for(x=; x<i[]; x++) printf("5 ");
for(x=; x<i[]; x++) printf("6 ");
for(x=; x<i[]; x++) printf("7 ");
for(x=; x<i[]; x++) printf("8 ");
for(x=; x<i[]; x++) printf("9 ");
cout<<endl;
}
}
return ;
}
 // 逆矩阵
#include <cstdio>
#include <cstring>
using namespace std; int a[][]={
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,}}; int x[];
int res[]; int main()
{
for(int i=;i<;i++)
{
scanf("%d",x+i);
x[i]=(-x[i])%;
} for(int i=;i<;i++)
for(int j=;j<;j++)
res[i]+=a[i][j]*x[j]; for(int i=;i<;i++) while(res[i]% && res[i]--)
printf("%d ",i+);
puts("");
}

POJ 1166 The Clocks (爆搜 || 高斯消元)的更多相关文章

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

    总时间限制: 1000ms,内存限制: 65536kB 描述 |-------| |-------| |-------| | | | | | | | |---O | |---O | | O | | | ...

  2. POJ 3185 The Water Bowls(高斯消元-枚举变元个数)

    题目链接:http://poj.org/problem?id=3185 题意:20盏灯排成一排.操作第i盏灯的时候,i-1和i+1盏灯的状态均会改变.给定初始状态,问最少操作多少盏灯使得所有灯的状态最 ...

  3. 【POJ 1830】 开关问题 (高斯消元)

    开关问题   Description 有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为 ...

  4. POJ 1222 EXTENDED LIGHTS OUT(高斯消元)

    [题目链接] http://poj.org/problem?id=1222 [题目大意] 给出一个6*5的矩阵,由0和1构成,要求将其全部变成0,每个格子和周围的四个格子联动,就是说,如果一个格子变了 ...

  5. POJ 1222 EXTENDED LIGHTS OUT(高斯消元)题解

    题意:5*6的格子,你翻一个地方,那么这个地方和上下左右的格子都会翻面,要求把所有为1的格子翻成0,输出一个5*6的矩阵,把要翻的赋值1,不翻的0,每个格子只翻1次 思路:poj 1222 高斯消元详 ...

  6. POJ 1681 Painter's Problem(高斯消元+枚举自由变元)

    http://poj.org/problem?id=1681 题意:有一块只有黄白颜色的n*n的板子,每次刷一块格子时,上下左右都会改变颜色,求最少刷几次可以使得全部变成黄色. 思路: 这道题目也就是 ...

  7. POJ 1222 EXTENDED LIGHTS OUT(高斯消元解XOR方程组)

    http://poj.org/problem?id=1222 题意:现在有5*6的开关,1表示亮,0表示灭,按下一个开关后,它上下左右的灯泡会改变亮灭状态,要怎么按使得灯泡全部处于灭状态,输出方案,1 ...

  8. 【POJ】1830 开关问题(高斯消元)

    http://poj.org/problem?id=1830 高斯消元无解的条件:当存在非法的左式=0而右式不等于0的情况,即为非法.这个可以在消元后,对没有使用过的方程验证是否右式不等于0(此时因为 ...

  9. 【POJ】2947 Widget Factory(高斯消元)

    http://poj.org/problem?id=2947 各种逗啊..还好1a了.. 题意我就不说了,百度一大把. 转换为mod的方程组,即 (x[1,1]*a[1])+(x[1,2]*a[2]) ...

随机推荐

  1. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  2. SqlBulkCopy批量写入25万条数据只需3s

    Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同服务器上).SqlBulkCopy  ...

  3. 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法

    前言: 本文的解决方法来自http://www.cnblogs.com/xionghui/archive/2012/04/11/2442404.html --感谢! 问题描述:新电脑装mysql后在c ...

  4. 如何将jsp中<input>设为只读

    将一个input变为只读,可以使用 readonly 属性 和 disabled 属性.  用disabled 属性时,文字显示为灰色.  下面的两种方法都是可以的: <input id =&q ...

  5. specular map normal map gloss map

    http://www.marmoset.co/toolbag/learn/materials http://digitalerr0r.wordpress.com/2009/03/26/xna-shad ...

  6. 查看语句运行时间异常的原因(SQLServer)

    转载:http://www.cnblogs.com/fygh/archive/2012/01/17/2324926.html 查看语句运行时间异常的原因(SQLServer)   经常有开发同事反映如 ...

  7. 自定义nagios check_load告警阀值

    自定义nagios  check_load告警阀值 日期:2012-01-11 来源: heipark 分享至: - 默认check_load配置 define service{ use generi ...

  8. Javascript中的Cookie操作

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. [转]Ubuntu alternate和desktop区别

    原文地址:http://blog.csdn.net/is2120/article/details/6797621 Desktop : 刻录在光盘,从光盘运行的系统,相当于 Live CD Altern ...

  10. [转] 软件定义网络(SDN) 的应运而生

    原文见51CTO:http://network.51cto.com/art/201103/251425.htm 2012的故事 2012年的某天,你跟往常一样起床,打开电脑,却发现无法登录到邮箱.无法 ...