POJ 2695 The Pilots Brothers' refrigerator(神奇的规律)

来源:互联网 发布:js url编码 编辑:程序博客网 时间:2024/06/14 20:03

转载请注明出处:http://blog.csdn.net/a1dark

分析:如果想要将一个“+”翻转成“-”,那么必然会把对应的行和列上的所有点翻转一次、由于一个点翻偶数次就相当于不翻转、所以我需要统计“+”、然后将对应行和列的值+1、最后统计奇数值的个数、便是要翻转的点、

#include<stdio.h>int mpt[5][5];int main(){    char ch;    for(int i=1;i<=4;i++){        for(int j=1;j<=4;j++){            scanf("%c",&ch);            if(ch=='+'){                mpt[i][j]++;                for(int k=1;k<=4;k++){                    mpt[i][k]++;                    mpt[k][j]++;                }            }        }        getchar();    }    int step=0;    for(int i=1;i<=4;i++)        for(int j=1;j<=4;j++)            if(mpt[i][j]%2!=0)                step++;    printf("%d\n",step);    for(int i=1;i<=4;i++)        for(int j=1;j<=4;j++)            if(mpt[i][j]%2!=0)                printf("%d %d\n",i,j);    return 0;}


原创粉丝点击