高斯消元,可以直接消的

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<algorithm>
 4 #include<cstring>
 5 #define MAXN 45*45
 6 #define For(i,x,y) for(register int i=x;i<=y;i++)
 7 using namespace std;
 8 int X,Y;
 9 int a[MAXN][MAXN];
10 int c(int x,int y){return (x-1)*Y+y;}
11 int d[5]={0,-1,0,1,0};
12 void init(){
13     scanf("%d%d",&X,&Y);
14     int x,y;
15     For(i,1,X){
16         For(j,1,Y){
17             a[c(i,j)][c(i,j)]=1;
18             For(k,0,3){
19                 x=i+d[k],y=j+d[k+1];
20                 if(1<=x&&x<=X&&1<=y&&y<=Y){
21                     a[c(i,j)][c(x,y)]=1;
22                 }
23             }
24             a[c(i,j)][c(X,Y)+1]=0;
25         }
26     }
27 }
28 int ans[45][45];
29 void guass(int m,int n){
30     int line=1;
31     For(k,1,m){
32         int i=line;
33         while(i<=m&&!a[i][k])i++;
34         if(i>m){
35             for(i=1;i<line;i++){
36                 if(a[i][k])a[i][n]^=1,a[i][k]=0;
37             }
38             continue;
39         }
40         if(i!=line)swap(a[i],a[line]);
41         for(i=1;i<=m;i++){
42             if(i==line)continue;
43             if(a[i][k]){
44                 For(j,k,n){
45                     a[i][j]^=a[line][j];
46                 }
47             }
48         }
49         line++;
50     }
51     line=1;
52     For(i,1,X){
53         For(j,1,Y){
54             if(a[line][c(i,j)]){
55                 ans[i][j]=a[line][n];
56                 line++;
57             }    
58             else{
59                 ans[i][j]=1;
60             }
61         }
62     }
63 }
64 void solve(){
65     guass(c(X,Y),c(X,Y)+1);
66     For(i,1,X){
67         For(j,1,Y-1){
68             printf("%d ",ans[i][j]);
69         }
70         printf("%d\n",ans[i][Y]);
71     }
72 }
73 int main()
74 {
75 //    freopen("data.in","r",stdin);
76     init();
77     solve();
78     return 0;
79 }
View Code

相关文章:

  • 2022-01-14
  • 2021-10-16
  • 2022-12-23
  • 2018-03-16
  • 2021-06-21
  • 2022-02-05
  • 2021-10-09
  • 2022-12-23
猜你喜欢
  • 2021-09-21
  • 2022-12-23
  • 2021-07-07
  • 2022-01-10
  • 2021-08-30
  • 2021-10-30
  • 2021-10-02
相关资源
相似解决方案