POJ 1222 高斯消元更稳

看这个就懂了

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int maxn = 2000;
  5. int a[maxn][maxn];
  6. int x[maxn];
  7. int dx[]= {0,0,-1,0,1};
  8. int dy[]= {0,-1,0,1,0};
  9.  
  10. void Guass(int equ,int var)
  11. {
  12. int row,col;
  13. row=col=0;
  14. while(row<equ && col<var)
  15. {
  16. //列非零主
  17. int r=row;
  18. for(int i=row; i<equ; i++)
  19. if(a[i][col]!=0)
  20. {
  21. r=i;
  22. break;
  23. }
  24. if(r!=row)
  25. {
  26. for(int j=col; j<var+1; j++)
  27. swap(a[row][j],a[r][j]);
  28. }
  29. if(a[row][col]==0)//说明有自由变元
  30. {
  31. col++;
  32. continue;
  33. }
  34. //消元
  35. for(int i=row+1; i<equ; i++)
  36. {
  37. if(a[i][col]==0) continue;
  38. for(int j=col; j<var+1; j++)
  39. a[i][j]^=a[row][j];
  40. }
  41. row++;
  42. col++;
  43. }
  44. int num = col-row;
  45. for(int i=var-1; num!=0; i--,num--)
  46. x[i] = 1;
  47. num = col-row;
  48. for(int i=equ-num-1; i>=0; i--)
  49. {
  50. x[i]=a[i][var];
  51. for(int j=i+1; j<var; j++)
  52. x[i]^=(a[i][j]*x[j]);
  53. }
  54. }
  55.  
  56. int main()
  57. {
  58. // freopen("in.txt","r",stdin);
  59. int t,n,m;
  60. scanf("%d", &t);
  61. while(t--)
  62. {
  63. scanf("%d%d", &n, &m);
  64. memset(a,0,sizeof(a));
  65. for(int i=0; i<n; i++)
  66. for(int j=0; j<m; j++)
  67. for(int k=0; k < 5; k++)
  68. {
  69. int nx = i+dx[k];
  70. int ny = j+dy[k];
  71. if(nx >= 0 && nx < n && ny >= 0 && ny < m) a[i*m+j][nx*m+ny] = 1;
  72. }
  73. Guass(n*m, n*m);
  74. for(int i=0; i<n; i++)
  75. {
  76. for(int j=0; j<m-1; j++)
  77. printf("%d ", x[i*m+j]);
  78. printf("%d\n", x[i*m+m-1]);
  79. }
  80. }
  81. return 0;
  82. }

Gym 100008E Harmonious Matrices 高斯消元的更多相关文章

  1. Codeforces Gym10008E Harmonious Matrices(高斯消元)

    [题目链接] http://codeforces.com/gym/100008/ [题目大意] 给出 一个n*m的矩阵,要求用0和1填满,使得每个位置和周围四格相加为偶数,要求1的数目尽量多. [题解 ...

  2. 【枚举】【高斯消元】Gym - 101412D - Find the Outlier

    给你一个未知的d次多项式在0,1,...,d+2处的取值,其中有且只有一个是错的,问你哪个是错的. 枚举哪个是错的,再在剩下的d+2个中取d+1个高斯消元,解出多项式系数,然后代一下最后剩下的那个数看 ...

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

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

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

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

  5. *POJ 1222 高斯消元

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

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

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

  7. hihoCoder 1196 高斯消元·二

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

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

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

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

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

随机推荐

  1. Linux权限问题(2)-unzip引发的权限问题

    背景:依然是上一个朋友,在用php调用unzip命令时,再次出现了权限被拒绝的问题. Notice:此处描述的问题,为使用php命令行执行php文件,因此进程属主为登录的用户,而不是nginx用户. ...

  2. mysql集群无法启动成功

    场景:两台数据库运行一段时间后发现集群挂了,一台服务正常,一台不正常. 日志如下: [ERROR] InnoDB: Attempted to open a previously opened tabl ...

  3. Linux 忘记密码解决方法——RedHat

    [RedHat7.4版本] 1.将忘记密码的rhel7.4版本的虚拟机打开 2.等3秒左右出现这个画面时,用方向键,将光标移动到第二栏处,接着按"e"键 3.接在在linux16这 ...

  4. Django使用Ace实现在线编辑器

    前言:最近自己开发SQL工单功能,期间接触到了Ace在线编辑器,折腾一下,感觉功能挺多,特意去了解学习一下分享跟大家. ACE 是一个功能非常强大的编辑器,实现语法高亮.代码补全功能,还有很多主题,支 ...

  5. SystemVerilog 语言部分(二)

    接口interface: 既可以设计,也可以用来验证. 验证环境:interface使得连接变得简单不容易出错. interface可以定义端口,单双向信号,内控部使用initial always t ...

  6. ADAS测试

    ADAS测试 1.  ADAS​和​自动​驾驶​测试 AD​和​高级​驾驶​辅助​系统​(ADAS)​正在​不断​增加​新的​雷达.​摄像​头.​激光​雷达​和​GNSS​传感器,​甚至​也在​改变​ ...

  7. mybatis学习——映射器(mappers)

    在定义 SQL 映射语句之前,我们需要告诉 MyBatis 到哪里去找到这些语句. 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射 ...

  8. SpringBoot系列——admin服务监控

    前言 springboot项目部署起来后,如何实时监控项目的运行状况呢?本文记录使用springboot-admin对服务进行监控. springboot-admin介绍:https://codece ...

  9. 【NX二次开发】获取视图当前的剪辑边界UF_VIEW_ask_current_xy_clip()

    UF_VIEW_ask_current_xy_clip()这个函数网上还没有详细的说明,我花了一点时间,详细得理解了一下函数返回的4个值的意思,作为一个猜想,希望有人能验证一下. 获取视图当前的剪辑边 ...

  10. windows 7系统安装与配置Tomcat服务器环境

    windows 7系统安装与配置Tomcat服务器环境 学习了一个月的java基础,终于要迈向java web领域.学习java web开发就离不开服务器的支持,由于本人是菜鸟,只好求助度娘谷哥.在此 ...