当前位置:网站首页>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.
边栏推荐
- leetcode-6111:螺旋矩阵 IV
- 1.13 - RISC/CISC
- 数据可视化图表总结(一)
- 【LeetCode】Day95-有效的数独&矩阵置零
- 栈 AcWing 3302. 表达式求值
- Quickly use Amazon memorydb and build your own redis memory database
- A reason that is easy to be ignored when the printer is offline
- New title of module a of "PanYun Cup" secondary vocational network security skills competition
- Erreur de connexion Navicat à la base de données Oracle Ora - 28547 ou Ora - 03135
- [rust notes] 16 input and output (Part 1)
猜你喜欢
MIT-6874-Deep Learning in the Life Sciences Week 7
LeetCode 0107.二叉树的层序遍历II - 另一种方法
Groupbykey() and reducebykey() and combinebykey() in spark
LeetCode 0107. Sequence traversal of binary tree II - another method
[2020]GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis
Leetcode stack related
Network security skills competition in Secondary Vocational Schools -- a tutorial article on middleware penetration testing in Guangxi regional competition
MIT-6874-Deep Learning in the Life Sciences Week 7
Operator priority, one catch, no doubt
1.13 - RISC/CISC
随机推荐
【Rust 笔记】15-字符串与文本(下)
【Rust 笔记】16-输入与输出(下)
Leetcode-31: next spread
Regulations for network security events of vocational group in 2022 Guizhou Vocational College skill competition
Matrixdb V4.5.0 was launched with a new mars2 storage engine!
传统数据库逐渐“难适应”,云原生数据库脱颖而出
MySQL advanced part 2: the use of indexes
[rust notes] 16 input and output (Part 1)
实时时钟 (RTC)
MySQL advanced part 2: MySQL architecture
SQLMAP使用教程(二)实战技巧一
Open source storage is so popular, why do we insist on self-development?
阿里新成员「瓴羊」正式亮相,由阿里副总裁朋新宇带队,集结多个核心部门技术团队
Leetcode-6111: spiral matrix IV
【Rust 笔记】14-集合(上)
Leetcode-3: Longest substring without repeated characters
Multi screen computer screenshots will cut off multiple screens, not only the current screen
LVS简介【暂未完成(半成品)】
Leetcode heap correlation
Record the process of configuring nccl and horovod in these two days (original)