POJ1830 開關問題(高斯消元)

2021-08-15 22:27:50 字數 661 閱讀 5859

我是超連結

以前對於開關燈問題的相鄰賦值有誤解,a[i][j]表示的是對於第i個燈來說,第j個燈會不會影響ta,所以這裡a[i][j]的值應該跟讀入的link[j][i]是相同的。

其他就很簡單了,多解就是自由元的個數x,2^x

#include 

#include

#include

using

namespace

std;

bitset

<35> a[35];int b[35],n,s[35];

bool link[35][35],flag[35];

void gauss()

if (num==i) continue;

swap(a[num],a[i]); swap(b[num],b[i]);

}for (int j=i+1;j<=n;j++)

if (a[j][i]) a[j]^=a[i],b[j]^=b[i];

}int num=1;

for (int i=n;i>=1;i--)

}for (int j=1;jif (a[j][i]) b[j]^=b[i];

}printf("%d\n",num);

}int main()

}

POJ 1830 開關問題 高斯消元

開關問題 time limit 1000ms memory limit 30000k total submissions 3390 accepted 1143 description 有n個相同的開關,每個開關都與某些開關有著聯絡,每當你開啟或者關閉某個開關的時候,其他的與此開關相關聯的開關也會相應...

poj 1830 開關問題 高斯消元

題意是 給一些開關的初始狀態 0 或1 在給出終止狀態,在給出相關的變化規則,規則 x 變化 則 y 也變 x y 讀入。輸出有多少種開關的撥動情況,使初始狀態變成終止狀態。此問題 很容易轉化成 高斯消元 解 異或方程組。t 方程組的自由化的個數,則結果就是 2 t include include ...

poj 1830 開關問題(高斯消元)

終止狀態是從初始狀態由開關組合影響而形成的,那麼就有乙個等式使得初始狀態可以到達終止狀態,例如a,b,c三個開關 e a xa mp a a xb mp a b xc map a c s a e b xa mp b a xb mp b b xc map b c s b e c xa mp c a x...