第一次学怎么用高斯消元法解抑或方程组,思想其实很简单,方法可以看下面的链接:http://blog.csdn.net/zhuichao001/article/details/5440843

有了这种思想之后,一些简单的翻牌问题也算是有了头绪,还记得之前做一到翻一次牌影响曼哈顿距离为k的点的题,现在看来是有思路,但那个貌似是900个点,不好搞呀,自己回头再想想吧。。先贴一记水题的代码

#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std; int m[][];
int ans[][];
int eq[][]; void gauss(int a[][])
{
for(int i=;i<;++i){
int k=i;
for(;k<;++k){
if(a[k][i]!=){
break;
}
}
for(int j=;j<=;++j){
swap(a[i][j],a[k][j]);
}
for(int j=;j<;++j){
if(i!=j&&a[j][i]){
for(int k=;k<=;++k){
a[j][k]=a[i][k]^a[j][k];
}
}
}
}
for(int i=;i<;++i){
ans[i/][i%]=eq[i][];
}
} int main()
{
int T;cin>>T;int ca=;
while(T--)
{
memset(eq,,sizeof(eq));
for(int i=;i<;++i){
for(int j=;j<;++j){
scanf("%d",&m[i][j]);
eq[i*+j][]=m[i][j];
eq[i*+j][i*+j]=;
if(j->=) eq[i*+j][i*+j-]=;
if(j+<) eq[i*+j][i*+j+]=;
if(i*+j->=) eq[i*+j][i*+j-]=;
if(i*+j+<=) eq[i*+j][i*+j+]=;
}
}
gauss(eq);
printf("PUZZLE #%d\n",++ca);
for(int i=;i<;++i){
printf("%d",ans[i][]);
for(int j=;j<;++j){
printf(" %d",ans[i][j]);
}
puts("");
}
}
return ;
}

POJ1222 高斯消元法解抑或方程的更多相关文章

  1. (模板)poj2947(高斯消元法解同余方程组)

    题目链接:https://vjudge.net/problem/POJ-2947 题意:转换题意后就是已知m个同余方程,求n个变量. 思路: 值得学习的是这个模板里消元用到lcm的那一块.注意题目输出 ...

  2. POJ 1320 Street Numbers 解佩尔方程

    传送门 Street Numbers Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2529   Accepted: 140 ...

  3. [NBUT 1224 Happiness Hotel 佩尔方程最小正整数解]连分数法解Pell方程

    题意:求方程x2-Dy2=1的最小正整数解 思路:用连分数法解佩尔方程,关键是找出√d的连分数表示的循环节.具体过程参见:http://m.blog.csdn.net/blog/wh2124335/8 ...

  4. poj1222(高斯消元法解异或方程组+开关问题)

    题目链接:https://vjudge.net/problem/POJ-1222 题意:给定一个5×6的01矩阵,改变一个点的状态时它上下左右包括它自己的状态都会翻转,因为翻转2次等价与没有翻转,那么 ...

  5. 解如下方程(java实现)

    n                              (m=1) f(m,n)=  m                              (n=1) f(m-1,n)+f(m,n-1) ...

  6. 【高斯消元解xor方程】BZOJ1923-[Sdoi2010]外星千足虫

    [题目大意] 有n个数或为奇数或为偶数,现在进行m次操作,每次取出部分求和,告诉你这几次操作选取的数和它们和的奇偶性.如果通过这m次操作能得到所有数的奇偶性,则输出进行到第n次时即可求出答案:否则输出 ...

  7. fzu1704(高斯消元法解异或方程组+高精度输出)

    题目链接:https://vjudge.net/problem/FZU-1704 题意:经典开关问题,求使得灯全0的方案数. 思路:题目保证至少存在一种方案,即方程组一定有解,那么套上高斯消元法的板子 ...

  8. poj2947(高斯消元法解同余方程组)

    题目链接:https://vjudge.net/problem/POJ-2065 题意:题目看着较复杂,实际上就是给了n个同余方程,解n个未知数. 思路:套高斯消元法的模板即可. AC代码: #inc ...

  9. bzoj千题计划105:bzoj3503: [Cqoi2014]和谐矩阵(高斯消元法解异或方程组)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3503 b[i][j] 表示i对j是否有影响 高斯消元解异或方程组 bitset优化 #include ...

随机推荐

  1. 济南学习 Day 2 T3 pm

    它[问题描述]N个人坐成一圈,其中第K个人拿着一个球.每次每个人会以一定的概率向左边的人和右边的人传球.当所有人都拿到过球之后,最后一个拿到球的人即为胜者.求第N个人获胜的概率. (所有人按照编号逆时 ...

  2. 从基础知识到重写Spring的Bean工厂中学习java的工厂模式

    1.静态工厂模式其他对象不能直接通过new得到某个类,而是通过调用getInstance()方法得到该类的对象这样,就可以控制类的产生过程.顺带提一下单例模式和多例模式:  单例模式是指控制其他对象获 ...

  3. 淘宝店铺应用android源码

    一个淘宝店铺的app 界面模仿蘑菇街 完结版很多朋友想知道web端 我发上来 是用thinkphp框架 懂的同学拿去研究 ,之前做的前台 现在基本上不能用 就看个后台就好了 也比较简单 我放上来 大家 ...

  4. 而在Jquery中则使用$.map()、$.each()来操作数组

    首先是普通的数组(索引为整数的数组): //$.map(arr,fn); //对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组 var arr = [9, 8, 7 ...

  5. robots.txt文件配置和使用方法详解

    robots.txt文件,提起这个概念,可能不少站长还很陌生:什么是robots.txt文件?robots.txt文件有什么作用?如何配置robots.txt文件?如何正确使用robots.txt文件 ...

  6. vs2010中安装ASP.NET AJAX Control Toolkit

    方法一: 第一步 下载Ajax Control Toolkit 进入网址http://ajaxcontroltoolkit.codeplex.com/ 即可下载 第二步 解压下载下来的Ajax Con ...

  7. SQLserver Delete from where 与Oracle delete from where 的差异

    1.SQLserver 版本: select @@version; Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) Dec 28 2012 20 ...

  8. 【转】char*,const char*和string的相互转换

    1. string转const char* string s = "abc"; const char* c_s = s.c_str(); 2. const char*转string ...

  9. Java从入门到精通——基础篇之Servlet与JSP的区别

    一.基本概念 1.1 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器 ...

  10. 一段Android里面打印CallStatck的代码

    public void dumpCallStack() { java.util.Map<Thread, StackTraceElement[]> ts = Thread.getAllSta ...