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

poj 1222 EXTENDED LIGHTS OUT

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

poj 1222 EXTENDED LIGHTS OUT

#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 35int f[maxn][maxn];int g[maxn][maxn];int x[maxn];int dir[5][2] ={{ 0, 0 },{ 0, 1 },{ 1, 0 },{ -1, 0 },{ 0, -1 } };void debug(){    for (int i =0; i <30; i++)    {        for (int j =0; j <31; j++) cout <<""<< g[i][j];        cout << endl;    }    cout << endl;}void input(){    for (int i =0; i <5; i++)        for (int j =0; j <6; j++) scanf("%d", &g[i *6+ j][30]);}void work(){    int k;    int row, col;    for (row =0, col =0; row <30&& col <30; row++, col++)    {        for (k = row; k <30; k++) if (g[k][col] !=0)     break;        if (k ==30)        { row--; continue;        }        if (k != row) for (int i = col; i <=30; i++)     swap(g[row][i], g[k][i]);        for (int i = row +1; i <30; i++) if (g[i][col])     for (int j = col; j <=30; j++)         g[i][j] ^= g[row][j];    }    for (int i = row; i >=0; i--)    {        x[i] = g[i][30];        for (int j =29; j > i; j--) x[i] ^= (g[i][j] && x[j]);    }}void print(){    for (int i =0; i <5; i++)    {        printf("%d", x[i *6]);        for (int j =1; j <6; j++) printf(" %d", x[i *6+ j]);        putchar('n');    }}int main(){    for (int i =0; i <5; i++)        for (int j =0; j <6; j++) for (int k =0; k <5; k++) {     int a = i + dir[k][0];     int b = j + dir[k][1];     if (a >=0&& b >=0&& a <5&& b <6)         f[i *6+ j][a *6+ b] =1; }    int t;    scanf("%d", &t);    for (int i =0; i < t; i++)    {        printf("PUZZLE #%dn", i +1);        memcpy(g, f, sizeof(g));        input();        work();        print();    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/364366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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