#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn = 210;
const ll mod = 998244353;int a[maxn][maxn]; //增光矩阵
int x[maxn];       //解集
int freeX[maxn];   //自由bianyuanll qpow(ll a, ll b)
{ll ans = 1;while (b > 0){if (b & 1)ans = ans * a % mod;a = a * a % mod;b >>= 1;}return ans;
}int Gauss(int equ, int var)
{for (int i = 0; i <= var; i++){x[i] = 0;freeX[i] = 0;}int col = 0; //当前处理的列int num = 0; //自由变元的序号int row;     //当前处理的行for (row = 0; row < equ && col < var; row++, col++){                     //枚举当前处理的行int maxRow = row; //当前列绝对值最大的行for (int i = row + 1; i < equ; i++){ //寻找当前列绝对值最大的行if (abs(a[i][col]) > abs(a[maxRow][col]))maxRow = i;}if (maxRow != row){ //与第row行交换for (int j = row; j < var + 1; j++)swap(a[row][j], a[maxRow][j]);}if (a[row][col] == 0){                       // col列第row行以下全是0,处理当前行的下一列freeX[num++] = col; //记录自由变元row--;continue;}for (int i = row + 1; i < equ; i++){if (a[i][col] != 0){for (int j = col; j < var + 1; j++){ //对于下面出现该列中有1的行,需要把1消掉a[i][j] ^= a[row][j];}}}}for (int i = row; i < equ; i++)if (a[i][col] != 0)return -1;int temp = var - row; //自由变元有var-row个if (row < var)        //返回自由变元数return temp;return 0;
}int A[maxn][maxn], B[maxn][maxn];int main()
{int n;cin >> n;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)cin >> A[i][j];for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)cin >> B[i][j];ll ans = 1;for (int j = 0; j < n; j++){for (int i = 0; i < n; i++){for (int k = 0; k < n; k++){a[i][k] = A[i][k];}}for (int i = 0; i < n; i++){a[i][i] = (A[i][i] - B[i][j] + 2) % 2;}int r = Gauss(n, n);if (r == -1){ans = 0;break;}ans *= qpow(2, r);ans %= mod;}printf("%lld\n", ans);return 0;
}

后期手打中
晚安

猜猜这是icpc20年那一场的a题,高斯消元re相关推荐

  1. 中国石油大学 个人训练赛第五场C:所罗门王的宝藏(高斯消元)

    题目描述 据古代传说记载,所罗门王既是智慧的代表,又是财富的象征.他建立了强大而富有的国家,聚集了大批的黄金象牙和钻石,并把这些价值连城的珍宝藏在一个神秘的地方,这就是世人瞩目的"所罗门王的 ...

  2. 杭电多校第六场个人补题6 7 9 10 12

    杭电多校第六场个人补题6 7 9 10 12 6 题意 给定一棵有n结点的树,点权为1~n,求对所有结点子树的mex操作和的最大值 思路 其实就是从最底部开始网上找,由于0是唯一的一个,所欲最好给在最 ...

  3. 【2020年牛客暑假第八场】E题 Enigmatic Partition

    [2020年牛客暑假第八场]E题 Enigmatic Partition 一阶差分+隔项差分 题意 思路 方法一 方法二 Code 反思 题目链接: https://ac.nowcoder.com/a ...

  4. 【2020年牛客暑假第九场】E题 Groundhog Chasing Death

    [2020年牛客暑假第九场]E题 Groundhog Chasing Death 质因子分解 题意 思路 方法一:先枚举iii再枚举公共质因子 Code(286ms) 方法二:先枚举公共质因子再枚举i ...

  5. 2021年度训练联盟热身训练赛第三场赛后补题

    2021年度训练联盟热身训练赛第三场赛后补题 A Circuit Math [题目分析] [代码展示] B Diagonal Cut [题目分析] [代码展示] C Gerrymandering [题 ...

  6. 2018 HDU多校第四场赛后补题

    2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...

  7. 2020年第十一届蓝桥杯JavaC组(十月场)真题解析

    相关题目: 2016年第七届蓝桥杯真题解析JavaB组 2016年第七届蓝桥杯真题解析JavaC组 2017年第八届蓝桥杯真题解析JavaB组 2017年第八届蓝桥杯真题解析JavaC组 2018年第 ...

  8. Leetcode第321场周赛补题

    Leetcode第321场周赛补题 第一题:6245. 找出中枢整数 - 力扣(LeetCode) 分析:由于数组中是差值为1的等差数列,所以可以直接用等差数列求和公式的朴素法更加简便的解决这题,,其 ...

  9. 【深圳(活动)】70多场干货分享!价值899元的2018中国开源年会门票等你认领

    开源发展20年,.NET Core开源 4年时间,.NET开源实现Mono也有18年的时间,特别近年国内.NET Core社区的蓬勃发展,.NET Core中国社区作为中国开源社区的重要参与者,获得官 ...

最新文章

  1. 白洋组公众号-植物微生组33天受邀原创-诚邀同行分享经验
  2. 网络爬虫:分离生产者和消费者来优化爬虫程序
  3. 开源大数据周刊-第103期
  4. 分布式锁用Redis还是Zookeeper?
  5. XCode的使用心得
  6. [NodeJs] 如果发现node_modules中有个模块代码有bug,你该怎么办?
  7. Visio中图进行任意区域进行颜色填充
  8. 日本python教材_自学python:完整入门python书单!
  9. 遇到 ORACLE 错误 1658
  10. wps电脑版_WPS和MS Office的一个重要区别
  11. ABP:在多语句事务内不允许使用 CREATE DATABASE 语句
  12. switch【耀西的手工世界xic】破解xic文件下载
  13. Premiere cc 2019安装教程及安装包
  14. 开源一个安信可A9g小项目微信小程序定位器项目①如何在windows10上环境搭建,编译烧录代码固件,查看运行日志;
  15. fastdb相关备忘
  16. 使用HTML实现百度首页界面
  17. 正版2008服务器多少钱,Windows server 2008 R2正版报价多少
  18. ps扁平图之 油画(莫奈)中的色彩与几何
  19. 使用nodejs机器学习进行app流量判别
  20. 工作中遇到的常见问题

热门文章

  1. 28掌握钓鱼营销的方法
  2. zzuli OJ 1106: 回文数(函数专题)
  3. 聚观早报|谷歌:全新大模型赋能「全家桶」;阿里巴巴取消CTO职位
  4. 手把手教你Python3使用Jieba工具
  5. oracle同一张表卡住很多次,极度诡异的oracle同一张表操作两次的问题
  6. [-记忆训练-] 按顺序背诵三十六计
  7. Pycharm查看代码缩略图
  8. 图神经网络(GNN):同质图模型【GCN/GraphSAGE/GAT...】、异质图模型【HAN/HetGNN...】
  9. Matlab 用法随记
  10. Python for循环与continue语句_批阅学生试卷