有乙個n*n的01矩陣,每次操作可以選擇乙個位置改變這個位置元素的值(0變成1,1變成0),但是這個位置的上下左右四個位置的元素的狀態也會發生改變(0變成1,1變成0),問是否可以通過這個操作,將01矩陣所有元素都變成0,操作次數不限,也可以為0次。
1 1 1
1 0 1
1 1 1
在這個資料中,可以使所有元素都變成0的操作方式為:
1 1 1
1 0 1
1 1 1
1代表對這個位置的元素進行一次操作,0代表沒有進行。
輸入
第1行:乙個整數n表示矩陣的大小為n*n。(1<=n<=10)
第2~n+1行,每行n個正整數,第i行第j個正整數表示01矩陣第i行第j列位置元素的值a[i][j]。(0<=a[i][j]<=1)
輸出
如果可以通過上述操作將01矩陣的所有元素變為0,輸出"yes",否則輸出"no"。
輸入樣例
31 1 1
1 0 1
1 1 1
輸出樣例
yes只遞迴列舉第一行即可!
#include
#include
#include
#include
#include
using namespace std;
int n;
int a[12]
[12];
int dir[5]
[2]=
;int flag=0;
bool check()
}}return true;
}void
flip
(int x,
int y)}}
void
dfs(
int x,
int y)
if(x>=n||y>=n)
return
;int x1,y1;
x1=x+
(y+1
)/n;
y1=(y+1
)%n;
if(a[x-1]
[y]==1)
else
}void
firstrow
(int col)
flip(0
,col)
;firstrow
(col+1)
;flip(0
,col)
;firstrow
(col+1)
;}intmain()
}firstrow(0
);if(flag)
else
return0;
}
51nod 1137矩陣乘法 矩陣
1137 矩陣乘法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出2個n n的矩陣m1和m2,輸出2個矩陣相乘後的結果。input 第1行 1個數n,表示矩陣的大小 2 n 100 第2 n 1行,每行n個數,對應m1的1行 0 m1 i 1000 第n 2 2n ...
51nod 1137 矩陣乘法
1137 矩陣乘法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出2個n n的矩陣m1和m2,輸出2個矩陣相乘後的結果。input 第1行 1個數n,表示矩陣的大小 2 n 100 第2 n 1行,每行n個數,對應m1的1行 0 m1 i 1000 第n 2 2n ...
51Nod 1137 矩陣乘法
1137 矩陣乘法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 收藏 關注 給出2個n n的矩陣m1和m2,輸出2個矩陣相乘後的結果。input 第1行 1個數n,表示矩陣的大小 2 n 100 第2 n 1行,每行n個數,對應m1的1行 0 m1 i 1000 第n...