POJ 1830 开关问题 高斯消元求自由变元
来源:互联网 发布:孤岛惊魂4流畅优化 编辑:程序博客网 时间:2024/04/30 03:12
题目链接:http://poj.org/problem?id=1830
代码:
#include <algorithm>#include <cstdio>#include <cstring>#define sf scanf#define pf printfusing namespace std;const int maxn = 50;typedef int Matrix[maxn][maxn];Matrix A;int n;int Gauss(){ //i为行 j为列 int i,j,k,q; for(i = 0,j = 0;i < n && j < n;++j){ k = i; for(q = i + 1;q < n;++q) if(A[q][j] > A[k][j]) k = q; if(A[k][j]){ for(q = 0;q <= n;++q) swap(A[k][q],A[i][q]); for(k = 0;k < n;++k){ if(k != i && A[k][j]){ for(q = 0;q <= n;++q) A[k][q] = A[k][q] ^ A[i][q]; } } i++; } } for(j = i;j < n;++j) if(A[j][n]) return -1; return n - i;}int main(){ int T;sf("%d",&T); while(T--){ sf("%d",&n); memset(A,0,sizeof A); for(int i = 0;i < n;++i) sf("%d",&A[i][n]); for(int i = 0;i < n;++i){ int tmp;sf("%d",&tmp); A[i][n] = A[i][n] ^ tmp; A[i][i] = 1; } int u,v; while(sf("%d %d",&u,&v),(u || v)){ u--,v--; A[v][u] = 1; } int cnt = Gauss(); if(cnt != -1) pf("%d\n",1 << cnt); else pf("Oh,it's impossible~!!\n"); }}
0 0
- POJ 1830 开关问题 高斯消元求自由变元
- poj 1830 开关问题 【高斯消元 求解自由变元数目】
- POJ 1830-开关问题(高斯消元求自由元个数)
- 【POJ1830】开关问题 高斯消元求自由元
- [poj 1830]开关问题 高斯消元+自由变量枚举
- HDOJ Lanterns 3364【高斯消元求自由变元】
- POJ 1753 Flip Game(高斯消元法,枚举自由变元)
- POJ 3185 The Water Bowls(高斯消元法,枚举自由变元)
- poj 3185 The Water Bowls 【高斯消元 + 枚举自由变元】
- poj 1681 Painter's Problem 高斯消元 枚举自由变元
- poj 1681 Painter's Problem 【高斯消元 枚举自由变元】
- poj The Water Bowls 高斯消元枚举自由变元
- 高斯消元 POJ 1222 POJ 1681(枚举自由变元)POJ 1753(两次高斯消元) POJ 1830 HDU 5833 (高斯消元,素数分解)POJ 3158 (集合压缩枚举自由变元)
- POJ 1830 开关问题
- POJ 1830 开关问题
- poj 1830 开关问题
- poj 1830 开关问题
- poj 1830 开关问题
- 模拟发送POST请求,提交表单
- 最直观的call和apply的解读
- 关于volatile的一些问题
- 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?
- ScrollView和ListView的冲突问题
- POJ 1830 开关问题 高斯消元求自由变元
- 【面向代码】学习 Deep Learning(一)Neural Network
- 第9周项目4-广义表算法库及应用(1)
- tjut 5954
- python装饰器
- CI中的uri和url
- 设计模式--命令模式
- vim操作记录(随时变动)
- 获取ip地址工具