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 題解 設矩陣...