题意:高斯消元

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int a[905][905];
int n,m;
int maxn;
int MOD=3;
int ans[811111];
int loc(int x,int y) {return x*m-m+y;
}
void swapl(int x,int y) {int tt;for(int i=1;i<=m+1;i++) {tt=a[x][i];a[x][i]=a[y][i];a[y][i]=tt;}return;
}
inline int gcd(int a,int b) {return b==0?a:gcd(b,a%b);
}
inline int lcm(int a,int b) {return a/gcd(a,b)*b;
}
long long inv(long long a,long long m) {if(a==1) return 1;return inv(m%a,m)*(m-m/a)%m;
}
int Guass(int equ,int var) {int max_r,col,k;for(k=0,col=0;k<equ&&col<var;k++,col++) {max_r=k;for(int i=k+1;i<equ;i++)if(abs(a[i][col])>abs(a[max_r][col]))max_r=i;if(a[max_r][col]==0) {k--;continue;}if(max_r!=k) {for(int j=col;j<var+1;j++)swap(a[k][j],a[max_r][j]);}for(int i=k+1;i<equ;i++) {if(a[i][col]!=0) {int LCM=lcm(abs(a[i][col]),abs(a[k][col]));int ta=LCM/abs(a[i][col]);int tb=LCM/abs(a[k][col]);if(a[i][col]*a[k][col]<0) tb=-tb;for(int j=col;j<var+1;j++) {a[i][j]=((a[i][j]*ta-a[k][j]*tb)%MOD+MOD)%MOD;}}}}for(int i=var-1;i>=0;i--) {int temp=a[i][var];for(int j=i+1;j<var;j++) {if(a[i][j]!=0) {temp-=a[i][j]*ans[j];temp=(temp%MOD+MOD)%MOD;}}ans[i]=a[i][i]*temp%MOD;}return 0;
}
void prit(void) {for(int i=0;i<maxn;i++) {for(int j=0;j<maxn+1;j++)cout << a[i][j] << " ";cout << endl;}
}
int main()
{int t;int kase=0;int xx;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);memset(ans,0,sizeof ans);memset(a,0,sizeof a);maxn=n*m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) {scanf("%d",&xx);a[loc(i,j)-1][maxn+1-1]=(3-xx)%3;a[loc(i,j)-1][loc(i,j)-1]=2;if(i>1) a[loc(i,j)-1][loc(i-1,j)-1]=1;if(j>1) a[loc(i,j)-1][loc(i,j-1)-1]=1;if(i<n) a[loc(i,j)-1][loc(i+1,j)-1]=1;if(j<m) a[loc(i,j)-1][loc(i,j+1)-1]=1;}//   prit();Guass(maxn,maxn);// cout << endl;// prit();int cnt = 0;for(int i = 0; i < maxn; i++) {if(ans[i])cnt += ans[i];}printf("%d\n", cnt);for(int i = 0; i < maxn; i++) {while(ans[i]) {printf("%d %d\n", i/m+1, i%m+1);ans[i]--;}}//printf("%d\n",tot);}return 0;
}

HDU-5755-Gambler Bo-高斯消元相关推荐

  1. hdu 5755 Gambler Bo 高斯消元

    题目链接 给n*m的方格, 每个格子有值{0, 1, 2}. 然后可以对格子进行操作, 如果选择了一个格子, 那么这个格子的值+2, 这个格子上下左右的格子+1, 并且模3. 问你将所有格子变成0的操 ...

  2. hdu 5755 Gambler Bo 高斯消元

    Gambler Bo 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5755 Description Gambler Bo is very profi ...

  3. HDU 5755 Gambler Bo(高斯消元裸题)——2016 Multi-University Training Contest 3

    传送门 Gambler Bo Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  4. [HDU 5755] Gambler Bo (高斯消元)

    HDU - 5755 给定一个 N×MN \times M的矩阵,每个格子都有一个数, 并且这些数都是 mod 3mod\ 3的 每次选一个格子操作,可以在这个格子加 2 mod 32\ mod\ 3 ...

  5. hdu 5755 Gambler Bo 三进制高斯消元(开关问题变形)

    题目链接 题意: 给出一个模3意义下的矩阵,每次选中一个元素就可以使得自身+2,上下左右元素+1.求所有元素变成0的一种解. 思路: 这个题目高斯消元复杂度明明是O(n^3)的啊,这个题O((n*m) ...

  6. HDU 5755 Gambler Bo(数论)

    题目链接: http://acm.split.hdu.edu.cn/showproblem.php?pid=5755 题目大意: 给你一个矩阵,矩阵中是0,1,2三个数,你每次可以给其中一个数加2,但 ...

  7. hdu 5755 Gambler Bo【gauss】

    思路: n*m个数变化,设置n*m个变量,每个位置对应5个变量发生改变,连立n*m个方程,高斯消元求解,注意取模. // hdu 5755 #include <cstdio> #inclu ...

  8. HDU 4870 Rating(高斯消元 )

    HDU 4870   Rating 这是前几天多校的题目,高了好久突然听旁边的大神推出来说是可以用高斯消元,一直喊着赶快敲模板,对于从来没有接触过高斯消元的我来说根本就是一头雾水,无赖之下这几天做DP ...

  9. 【HDU 5755】Gambler Bo(高斯消元)

    [HDU 5755]Gambler Bo(高斯消元) Gambler Bo Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072 ...

  10. hdu5755 Gambler Bo(高斯消元)

    思路:一个mod3版本的开关灯问题,对每个格子分别设操作了xi次,那么就可以列出一个n*m的方程组,然后高斯消元就可以了 #include<bits/stdc++.h> using nam ...

最新文章

  1. 机器学习视觉图像算法工程师--面试笔试--常考知识点乱找总结
  2. fedora16配制
  3. OpenJudge NOI 1.8 22:神奇的幻方
  4. JQuery根据关键字检索html元素并筛选显示
  5. activemq之调用问题研究
  6. pygame下载 + 安装 + 为什么安装时会报错解答
  7. 幼儿园编程机器人课程介绍
  8. Excel.Application组件使用方法 matlab可以参考使用
  9. 大数据的关键技术与综述
  10. windows10系统-11-高效软件
  11. 打破电动车定义,星越L Hi·P雷神增程电动SUV上市
  12. csgo跑图文件_CSGO:萌新入坑如何快速优化游戏设置?这个跑图指令也是十分实用...
  13. 2020 最新 Zotero文献管理 工具使用指南
  14. 《0day安全》——数据与程序的分水岭:DEP
  15. 个人理解,关于python 的__init__.py 以及 __all__ 的用法
  16. 如何从 “用户评论”中挖掘业务价值
  17. 玩游戏键盘一按就打开计算机,win10电脑玩游戏时按键盘会自动弹字
  18. SSH整合过程中遇到的头秃问题
  19. 100以内加减法混合出题
  20. 信号与电源完整性4:网络间的串扰分析及解决方案

热门文章

  1. Chrome保存的知乎网页,本地打开后闪频刷新问题处理
  2. 苹果浏览器无法边下边播MP4(谷歌浏览器可以)
  3. 【论文】Track to Detect and Segment: An Online Multi-Object Tracker
  4. 几种spootboot配置参数线上修改方法
  5. table thead tr设置表头背景色未完全覆盖的问题
  6. PDF文件提取单独页面
  7. Go语言核心之美 3.3-Map
  8. WP模板阁怎么样?能买吗
  9. wxpython收费吗_使用wxPython开发一个简单GUI应用
  10. Linux 系统使用 git 提交代码-- git 的安装及使用(简明教学指南)