⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zp1354_modularize.cpp

📁 一个acm题目系统会自动删除debug和release目录
💻 CPP
字号:
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
//#define cin fin
//#include <fstream>
#include <iostream>
using namespace std;

//  ifstream fin("in1354.txt");

const int ln=5;
const int lm=6;
int a[ln+2][lm+2],b[ln+2][lm+2],c[ln+2][lm+2];

void gis()
{
  for (int i=1;i<=ln;i++)
    for (int j=1;j<=lm;j++)
      cin>>a[i][j];
}
void gos()
{
  for (int i=1;i<=ln;i++)
  {
    for (int j=1;j<lm;j++)
      cout<<b[i][j]<<' ';
    cout<<b[i][lm]<<endl;
  }
}
int aloff()
{
  int t=0;
  for (int i=1;i<=ln;i++)
    if (c[i][lm])
    { t=1; break;}
  return 1-t;
}
void trunsc(int nn)
{
  for (int i=1;i<=ln;i++)
    if (b[i][nn])
    {
      c[i][nn]  =1-c[i][nn]  ;
      c[i][nn-1]=1-c[i][nn-1];
      c[i][nn+1]=1-c[i][nn+1];
      c[i+1][nn]=1-c[i+1][nn];
      c[i-1][nn]=1-c[i-1][nn];
    }
}
void calsb(int nn)
{
  for (int i=1;i<=ln;i++)
    b[i][nn]=c[i][nn-1];
}
void copyac()
{
  for (int i=1;i<=ln;i++)
    for (int j=1;j<=lm;j++)
      c[i][j]=a[i][j];
}
void seki()
{
  for (b[1][1]=0;b[1][1]<2;b[1][1]++)
    for (b[2][1]=0;b[2][1]<2;b[2][1]++)
      for (b[3][1]=0;b[3][1]<2;b[3][1]++)
        for (b[4][1]=0;b[4][1]<2;b[4][1]++)
          for (b[5][1]=0;b[5][1]<2;b[5][1]++)
          {
            copyac();
            trunsc(1);
            for (int i=2;i<=lm;i++)
            {
              calsb(i);
              trunsc(i);
            }
            if (aloff())
              return;
          }
}
int main(int argc, char* argv[])
{
  int N;
  cin>>N;
  for (int I=1;I<=N;I++)
  {
    gis();

    seki();

    cout<<"PUZZLE #"<<I<<endl;
    gos();
  }
  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -