当前位置:网站首页>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.
边栏推荐
- Matrixdb V4.5.0 was launched with a new mars2 storage engine!
- 2021apmcm post game Summary - edge detection
- MIT-6874-Deep Learning in the Life Sciences Week 7
- MySQL advanced part 1: index
- 开源存储这么香,为何我们还要坚持自研?
- Traditional databases are gradually "difficult to adapt", and cloud native databases stand out
- Usage scenarios of golang context
- 1.13 - RISC/CISC
- [rust notes] 17 concurrent (Part 2)
- MySQL advanced part 2: SQL optimization
猜你喜欢
Data visualization chart summary (II)
MySQL advanced part 1: View
Leetcode stack related
Error ora-28547 or ora-03135 when Navicat connects to Oracle Database
实时时钟 (RTC)
SPI 详解
Real time clock (RTC)
Matrixdb V4.5.0 was launched with a new mars2 storage engine!
高斯消元 AcWing 884. 高斯消元解异或线性方程组
Redis publish subscribe command line implementation
随机推荐
leetcode-6109:知道秘密的人数
【Rust 笔记】16-输入与输出(下)
Spark中groupByKey() 和 reduceByKey() 和combineByKey()
传统数据库逐渐“难适应”,云原生数据库脱颖而出
JS quickly converts JSON data into URL parameters
MySQL advanced part 2: SQL optimization
LaMDA 不可能觉醒吗?
One question per day 1020 Number of enclaves
TypeScript 基础讲解
Error ora-28547 or ora-03135 when Navicat connects to Oracle Database
Arduino 控制的 RGB LED 无限镜
【Rust 笔记】14-集合(上)
多屏电脑截屏会把多屏连着截下来,而不是只截当前屏
MySQL advanced part 2: optimizing SQL steps
Leetcode array operation
Leetcode-6109: number of people who know secrets
Introduction to LVS [unfinished (semi-finished products)]
New title of module a of "PanYun Cup" secondary vocational network security skills competition
MySQL advanced part 1: stored procedures and functions
[2020]GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis