題目描述
我們稱乙個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。乙個元素相鄰的元素包括它本身,及他上下左右的4個元素(如果存在)。給定矩陣的行數和列數,請計算並輸出乙個和諧的矩陣。注意:所有元素為0的矩陣是不允許的。
分析:
1.這種矩陣的,乙個元素和它上下左右有關係的,一般都是高斯消元。
2.把題目轉化為亦或方程:因為知道第一行的情況後,後面的都可以遞推,所以一直推到第n+1行。根據這一行的數都為0列出方程。
3.再高斯消元啦。
#include
#include
#include
#include
using
namespace
std;
typedef
long
long ll;
const
int maxn=50;
ll a[maxn][maxn],ans[maxn][maxn],b[maxn][maxn];
int n,m;
void gauss()
}for(int i=m;i>=1;i--)
for(int j=i+1;j<=m;j++) a[i][m+1]^=(ans[1][j]*a[i][j]);
ans[1][i]=a[i][m+1];
}}int main()
for(int j=1;j<=m;j++) printf("%lld%c",ans[i][j],j==m?'\n':' ');
}return
0;}
BZOJ3503 Cqoi2014 和諧矩陣
我們發現確定了一行之後,為使這一行沒有不合法情況,下一行就確定了,所以我們可以用第一行的數表示出整個矩陣,而合法當且僅當第n 1行全為0,用n 1行的表示高斯消元出第一行然後遞推整個矩陣即可 include include include include include include includ...
bzoj3503 Cqoi2014 和諧矩陣
bzoj3503 cqoi2014 和諧矩陣 題意 我們稱乙個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。乙個元素相鄰的元素包括它本身,及他上下左右的4個元素 如果存在 給定矩陣的行數和列數,計算並輸出乙個和諧的矩陣。注意 所有元素為0的矩陣是不允許的。行列數 40 題解 設矩陣...
BZOJ 3503 Cqoi2014 和諧矩陣
bzoj 3503 cqoi2014 和諧矩陣 高斯消元 題意 我們稱乙個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。乙個元素相鄰的元素包括它本身,及他上下左右的4個元素 如果存在 給定矩陣的行數和列數,請計算並輸出乙個和諧的矩陣。注意 所有元素為0的矩陣是不允許的。分析 設n ...