栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1354 Extended Lights Out

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1354 Extended Lights Out

#include<iostream>#include<cstdlib>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int a[8][8], b[8][8];int counted(int i, int j){    int cnt = 0;    if(b[i][j])        cnt++;    if(b[i-1][j])        cnt++;    if(b[i][j+1])        cnt++;    if(b[i][j-1])        cnt++;    return cnt;}int DFS(){    for(int i = 1; i <= 4; i++)        for(int j = 1; j <= 6; j++)        { int cnt = counted(i, j); if(cnt % 2 == a[i][j])      b[i+1][j] = 0;      else     b[i+1][j] = 1;        }    for(int i = 1; i <= 6; i++)         {        int cnt = counted(5, i);          if(cnt % 2 != a[5][i]) return 0;    }    return 1;}void light()  {    for(int i = 0; i < 2; i++)    {        b[1][1] = i;        for(int i1 = 0; i1 < 2; i1++)        { b[1][2] = i1; for(int i2 = 0; i2 < 2; i2++) {     b[1][3] = i2;     for(int i3 = 0; i3 < 2; i3++)     {         b[1][4] = i3;         for(int i4 = 0; i4 < 2; i4++)         {  b[1][5] = i4;  for(int i5 = 0; i5 < 2; i5++)  {      b[1][6] = i5;      int flag = DFS();      if(flag) return ;  }         }     } }        }    }    puts("8");}int main(){    int t, num = 0;    scanf("%d", &t);    while(t--)    {        for(int i = 1; i <= 5; i++) for(int j = 1; j <= 6; j++)     scanf("%d", &a[i][j]);        for(int i = 0; i < 8; i++) for(int j = 0; j < 8; j++)     b[i][j] = 0;        printf("PUZZLE #%dn",++num);        light();        for(int i = 1; i <= 5; i++) for(int j = 1; j <= 6; j++)     printf("%d%c", b[i][j], j != 6 ?' ':'n');    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380587.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号