这道题和之前的把那一道1222很类似。仅仅只是一定要注意一下对于无解的推断。

/*#########################################################################
# File Name: poj_1681.cpp
# Author: CaoLei
# Created Time: 2015/7/20 18:33:08
#########################################################################*/ #include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
using namespace std;
#define MAX(x,y) (((x)>(y))?(x):(y))
#define MIN(x,y) (((x)<(y))?(x):(y))
#define N 500010
#define pi acos(-1.0)
#define inf 100000000
typedef long long ll;
typedef unsigned long long ull;
int a[300][300];
char str[20];
int n;
bool f;
void gauss(){
for (int i = 0; i<n*n; i++){
int p=i;
for (int j = i; j<n*n; j++){ //这个地方j的初始值是i不
//是0,错了一次切记。
if (a[p][i]<a[j][i]){
p=j;
}
}
for (int j = 0; j <= n*n; j++) swap(a[i][j], a[p][j]);
int count=0;
for(int k=i;k<n*n;k++) //推断是否有解,关键
if(a[i][k]) count++;
if(!count&&a[i][n*n]){
f=false;
return ;
}
for (int j = 0; j<n*n; j++)
if (i != j&&a[j][i])
for (int k = i + 1; k <= n*n; k++)
a[j][k] ^= a[i][k]; }
} int main(){
freopen("in.txt", "r", stdin);
int t;
scanf("%d", &t);
while (t--){
f = true;
memset(a, 0, sizeof(a));
scanf("%d", &n);
for (int i = 0; i<n; i++){
scanf("%s",str);
for (int j = 0; j<n; j++){
if (str[j] == 'w'){
a[i*n + j][n*n] = 1;
}
}
}
for (int j = 0; j<n*n; j++){
a[j][j] = 1;
if (j%n != 0) a[j - 1][j] = 1;
if ((j + 1) % n != 0) a[j + 1][j] = 1;
if (j >= n) a[j - n][j] = 1;
if (j<(n - 1)*n) a[j + n][j] = 1;
}
gauss();
if (!f){
printf("inf\n");
continue;
}
int count = 0;
for (int i = 0; i<n*n; i++){
if(a[i][n*n]) count++;
}
printf("%d\n",count);
}
return 0;
}

poj_1681_高斯消元的更多相关文章

  1. 【BZOJ-3143】游走 高斯消元 + 概率期望

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2264  Solved: 987[Submit][Status] ...

  2. 【BZOJ-3270】博物馆 高斯消元 + 概率期望

    3270: 博物馆 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 292  Solved: 158[Submit][Status][Discuss] ...

  3. *POJ 1222 高斯消元

    EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9612   Accepted: 62 ...

  4. [bzoj1013][JSOI2008][球形空间产生器sphere] (高斯消元)

    Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧 ...

  5. hihoCoder 1196 高斯消元·二

    Description 一个黑白网格,点一次会改变这个以及与其连通的其他方格的颜色,求最少点击次数使得所有全部变成黑色. Sol 高斯消元解异或方程组. 先建立一个方程组. \(x_i\) 表示这个点 ...

  6. BZOJ 2844 albus就是要第一个出场 ——高斯消元 线性基

    [题目分析] 高斯消元求线性基. 题目本身不难,但是两种维护线性基的方法引起了我的思考. void gauss(){ k=n; F(i,1,n){ F(j,i+1,n) if (a[j]>a[i ...

  7. SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元

    [题目分析] Matrix-Tree定理+高斯消元 求矩阵行列式的值,就可以得到生成树的个数. 至于证明,可以去看Vflea King(炸树狂魔)的博客 [代码] #include <cmath ...

  8. UVALive 7138 The Matrix Revolutions(Matrix-Tree + 高斯消元)(2014 Asia Shanghai Regional Contest)

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...

  9. [高斯消元] POJ 2345 Central heating

    Central heating Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 614   Accepted: 286 Des ...

随机推荐

  1. 学习Git操作的好资源

    网上资源很多,极大的方便了我们学习新东西. 今天找到了几个简单明了的Git教程,用以备录共享. Learn Git Branching  http://pcottle.github.io/learnG ...

  2. sublime3176注册码破解汉化及常用插件

    官方网站下载地址:https://www.sublimetext.com/3 破解软件下载地址:https://www.lanzous.com/i1a7zfi 破解软件下载地址备用:https://d ...

  3. bzoj 2961

    根据“点在圆内”关系,列出点P(x0,y0)在圆C(x,y)内的关系: (x-x0)^2+(y-y0)^2 <= x^2+y^2 化简得: 2*x0*x+2*y0*y >= x0^2+y0 ...

  4. 在Hexo中渲染MathJax数学公式

    最近学机器学习涉及很多的数学公式,公式如果用截图显示,会比较low而且不方便.因此需要对Hexo做些配置,支持公式渲染.同时文末整理了各种公式的书写心得,比如矩阵.大小括号.手动编号.上下角标和多行对 ...

  5. hdoj 5182 PM2.5 排序

    PM2.5 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Descr ...

  6. Vue集成腾讯地图和几何库

    关于Vue中如何引入腾讯地图,百度搜索中的结果已经非常明确: /** * 腾讯地图. * @param key * @returns {Promise<any>} * @construct ...

  7. IP配制

    http://blog.csdn.net/laoyiin/article/details/5722977

  8. axure8.1可用授权码

    Licensee: University of Science and Technology of China (CLASSROOM)Key: DTXRAnPn1P65Rt0xB4eTQ+4bF5IU ...

  9. 引子——从Mac OS X的Lion说起

    最近感悟越来愈多,女儿越来越大,头发越来越少,我知道,自己老了. 30岁之后,时间仿佛开闸的河水一样滚滚而去,感觉自己浪费的时间太多.我们不得不承认,先知先觉的人会比我们领先10年甚至更多的身位.所以 ...

  10. SpringMVC和Springboot的区别(网摘)

    spring boot 我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种 sta ...