当前位置:网站首页>Gauss Cancellation acwing 884. Solution d'un système d'équations Xor linéaires par élimination gaussienne
Gauss Cancellation acwing 884. Solution d'un système d'équations Xor linéaires par élimination gaussienne
2022-07-05 06:18:00 【T Y F666】
Gauss cancel AcWing 884. Solution d'élimination gaussienne pour un système d'équations Xor linéaires
Lien vers la question originale
AcWing 884. Solution d'élimination gaussienne pour un système d'équations Xor linéaires
Étiquette de l'algorithme
Espace linéaire Gauss cancel XOR
Idées
Code
#include<bits/stdc++.h>
#define int long long
#define abs fabs
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 105;
int a[N][N], eps = 1e-8;
int n;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
int gu(){// Gauss cancel, Réponse stockée dans a[i][n]Moyenne,0 <= i < n
// cColonne représentative rLigne représentative
int c, r;
// Liste par colonne
for(c=0, r=0; c<n; ++c){
int t=r;
rep(i, r, n){
if(a[i][c]){// Trouver une ligne non nulle
t=i;
break;
}
}
if(!a[t][c]){
continue;
}
rep(i, c, n+1){// Changez la ligne non nulle en haut
swap(a[r][i], a[t][i]);
}
rep(i, r+1, n){// Utilisez une ligne non nulle avec la colonne suivante pour éliminer à 0
if(a[i][c]){
Rep(j, n, c){
a[i][j]^=a[r][j];
}
}
}
++r;
}
if(r<n){
rep(i, r, n){
if(abs(a[i][n])>eps){
return 2;// Pas de solution
}
}
return 1;// Il y a un nombre infini de solutions de groupe
}
Rep(i, n-1, 0){
rep(j, i+1, n){
a[i][n]^=a[i][j]*a[j][n];
}
}
return 0;// Il y a une solution unique
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
n=read();
rep(i, 0, n){
rep(j, 0, n+1){
a[i][j]=read();
}
}
int t=gu();
if(t==2){
puts("No solution");
}else if(t==1){
puts("Multiple sets of solutions");
}else{
rep(i, 0, n){
printf("%lld\n", a[i][n]);
}
}
return 0;
}
L'originalité n'est pas facile
Réimpression Veuillez indiquer la source
Si ça t'aide N'oublie pas de me soutenir.
边栏推荐
- 4. 对象映射 - Mapping.Mapster
- MySQL advanced part 2: the use of indexes
- MySQL advanced part 2: storage engine
- 【Rust 笔记】14-集合(下)
- [rust notes] 15 string and text (Part 1)
- Leetcode-6109: number of people who know secrets
- Leetcode-6110: number of incremental paths in the grid graph
- leetcode-31:下一个排列
- One question per day 1020 Number of enclaves
- [BMZCTF-pwn] ectf-2014 seddit
猜你喜欢
MySQL advanced part 1: index
Arduino 控制的 RGB LED 无限镜
Leetcode stack related
做 SQL 性能优化真是让人干瞪眼
阿里巴巴成立企业数智服务公司“瓴羊”,聚焦企业数字化增长
阿里新成员「瓴羊」正式亮相,由阿里副总裁朋新宇带队,集结多个核心部门技术团队
QQ computer version cancels escape character input expression
MatrixDB v4.5.0 重磅发布,全新推出 MARS2 存储引擎!
1.14 - assembly line
RGB LED infinite mirror controlled by Arduino
随机推荐
[rust notes] 16 input and output (Part 1)
MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理
2021apmcm post game Summary - edge detection
MIT-6874-Deep Learning in the Life Sciences Week 7
Is it impossible for lamda to wake up?
leetcode-22:括号生成
Leetcode-3: Longest substring without repeated characters
[2021]IBRNet: Learning Multi-View Image-Based Rendering Qianqian
[rust notes] 17 concurrent (Part 1)
SQLMAP使用教程(一)
One question per day 1020 Number of enclaves
MySQL advanced part 2: storage engine
多屏电脑截屏会把多屏连着截下来,而不是只截当前屏
Traditional databases are gradually "difficult to adapt", and cloud native databases stand out
中国剩余定理 AcWing 204. 表达整数的奇怪方式
Niu Mei's math problems
1.15 - input and output system
数据可视化图表总结(二)
11-gorm-v2-02-create data
Records of some tools 2022