这道题和之前的把那一道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. Where should we fork this repository?

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 我们应该在哪里分叉这个存储库? Where should we fork this re ...

  2. 在Kali Linux上编译Windows EXP

    使用vc6.0去编译的时候,难免会出现点问题 这里找到MS11-046的exp来编译 poc地址:https://www.exploit-db.com/exploits/40564/ 首先需要安装mi ...

  3. 【漏洞预警】CVE-2017-8464 震网三代漏洞复现

    早在6月13日,微软发布补丁修复编号为CVE-2017-8464的漏洞,本地用户或远程攻击者可以利用该漏洞生成特制的快捷方式,并通过可移动设备或者远程共享的方式导致远程代码执行,追溯到以前,NSA就承 ...

  4. Alpha 冲刺报告8

    组长:吴晓晖 今天完成了哪些任务: maven和idea用的不熟啊,jar包或者war包导出来一直有问题:生气了把ide扔到服务器里去运行springboot了,卡哭了,终于可以运行了,然后debug ...

  5. nginx 站点代理,负载均衡

    nginx服务器IP是192.168.1.201 web服务器 IP 192.168.1.200,192.168.1.199 1.主配置文件是/etc/nginx/下的nginx.conf,另外一个是 ...

  6. CodeForces 128D Numbers 构造

    D. Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  7. POJ 1321 棋盘问题 DFS 期末前水一水就好……

    A - 棋盘问题 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  8. 【原】Order属性决定了不同切面类中通知执行的先后顺序

    [障碍再现] MyBatis配置多数据源时,数据源切换失败. [原因分析]    自定义切面和Spring自带事务切面“即<aop:advisor>”执行的先后顺序导致数据源不能切换成功. ...

  9. python模块整理30-uui模块

    http://www.cnblogs.com/dkblog/archive/2011/10/10/2205200.htmlhttp://blog.csdn.net/zhaoweikid/article ...

  10. 在当前的webview中跳转到新的url 使用WebView组件显示网页

    如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接.给WebView加一个事件监听对象(WebViewClient)并重写其中的一些方法:shouldOverride ...