BZOJ 3503 Cqoi2014 和諧矩陣

2022-04-30 05:51:14 字數 797 閱讀 3593

bzoj_3503_[cqoi2014]和諧矩陣_高斯消元

題意:我們稱乙個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。乙個元素相鄰的元素包括它本身,及他上下左右的4個元素(如果存在)。給定矩陣的行數和列數,請計算並輸出乙個和諧的矩陣。注意:所有元素為0的矩陣是不允許的。

分析:設n*m個未知數,列n*m個方程

高斯消元解方程,注意全零矩陣不合法

那我們如果發現有自由元就將它們置為1就好了

**:

#include #include #include #include using namespace std;

#define p(x,y) ((x-1)*m+y)

int a[1700][1700];

int n,m;

int tx=;

int ty=;

int which[1700*1700],ins[1700*1700];

void build()}}

}}void guass()

if(a[k][j])

}for(k=i+1;k<=n*m;k++)}}

which[i]=j;

ins[j]=i;

i++;

}j++;

}if(i>n*m)return ;

int id=i;

for(k=1;k<=n*m;k++)

}for(k=i;k<=n*m;k++)

for(k=i-1;k;k--)}}

}int main()

puts("");}}

BZOJ3503 Cqoi2014 和諧矩陣

我們發現確定了一行之後,為使這一行沒有不合法情況,下一行就確定了,所以我們可以用第一行的數表示出整個矩陣,而合法當且僅當第n 1行全為0,用n 1行的表示高斯消元出第一行然後遞推整個矩陣即可 include include include include include include includ...

bzoj3503 CQOI2014 和諧矩陣

題目描述 我們稱乙個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。乙個元素相鄰的元素包括它本身,及他上下左右的4個元素 如果存在 給定矩陣的行數和列數,請計算並輸出乙個和諧的矩陣。注意 所有元素為0的矩陣是不允許的。分析 1.這種矩陣的,乙個元素和它上下左右有關係的,一般都是高斯消...

bzoj3503 Cqoi2014 和諧矩陣

bzoj3503 cqoi2014 和諧矩陣 題意 我們稱乙個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。乙個元素相鄰的元素包括它本身,及他上下左右的4個元素 如果存在 給定矩陣的行數和列數,計算並輸出乙個和諧的矩陣。注意 所有元素為0的矩陣是不允許的。行列數 40 題解 設矩陣...