程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> POJ 3279 搜索

POJ 3279 搜索

編輯:關於C++

給出最高15*15的0 1矩陣,每次可以翻轉一個點,其相鄰的4個點都被翻轉,問最少翻轉幾次可以全部變為0

題中要求的字典序根本不用考慮。。。

枚舉第一行的翻轉所有翻轉情況然後逐行向下更新即可,因為第一行確定後,後面的都有唯一解

#include "stdio.h"
#include "string.h"

int n,m;
int vis[21][21],b[21][21],a[21][21],pri[21][21];

void on(int x,int y)
{
    b[x][y]^=1;
    if (x-1>=0) b[x-1][y]^=1;
    if (y-1>=0) b[x][y-1]^=1;
    b[x+1][y]^=1;
    b[x][y+1]^=1;
}

int main()
{
    int ok,ans,sum,cnt,i,j,w,key,flag;
    while (scanf("%d%d",&n,&m)!=EOF)
    {
        for (i=0;i=ans) break;
                for (j=0;j=ans) break;
                }
            }
            if (sum>=ans || i!=n) continue;
            flag=1;
            for (j=0;j

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved