POJ1222(高斯消元)

來源:互聯網
上載者:User

高斯消元

/* * Author:  xioumu * Created Time:  2011-11-4 16:24:07 * File Name: p1222.cpp */#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int map[40][40];int ans[40];int n;void init(){   int i,j,k,r,w;   memset(map,0,sizeof(map));   memset(ans,0,sizeof(ans));   for(i=0;i<30;i++)     scanf("%d",&map[i][30]);   for(i=0;i<30;i++)      for(j=0;j<30;j++)      {  int x,y,xx,yy;         x = i/6; y = i % 6;         xx= j/6; yy= j % 6;         if(abs(x-xx) + abs(y-yy)<= 1 )             map[j][i] = 1;      }      //for(i=0;i<30;i++,printf("\n"))      //for(j=0;j<=30;j++)         //printf("%d",map[i][j]);}int gauss(int map[40][40],int ans[40]){   int i,j,k,r,w;   for(k=0;k<30;k++)   {  i = k;      while(i<30 && map[i][k] == 0)  i++;      if(i == 30) continue;      if(i > k)      {  for(j=0;j<=30;j++)           swap(map[i][j],map[k][j]);      }      for(i=0;i<30;i++)         if(map[i][k] && i != k)         {  for(j=k;j<=30;j++)               map[i][j] ^= map[k][j];         }   }         //for(i=0;i<30;i++,printf("\n"))      //for(j=0;j<=30;j++)         //printf("%d",map[i][j]);      for(k=29;k>=0;k--)   {  ans[k] = map[k][30];      for(i=0;i<=30 && !map[k][i];i++) ;      if(i == 30) return 0;      for(i=k+1;i<30;i++)        ans[k] ^= map[k][i] * ans[i];      //ans[k] ^= map[k][k];   }      return 1;}void solve(){   int i,j,k,r,w;   if( !gauss(map,ans) )       printf("error\n");   for(i=0;i<30;i++)   {  printf("%d ",ans[i]);      if( (i+1) % 6 == 0) printf("\n");   }}int main(){   int t,i;   //freopen("p1222.in","r",stdin);   scanf("%d",&t);   for(i=1;i<=t;i++)   {  init();      printf("PUZZLE #%d\n",i);      solve();   }   return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.