Codevs 1116 四色問題(DFS)

2021-07-23 00:06:21 字數 1107 閱讀 4549

題目描述 description

給定n(小於等於8)個點的地圖,以及地圖上各點的相鄰關係,請輸出用4種顏色將地圖塗色的所有方案數(要求相鄰兩點不能塗成相同的顏色)

資料中0代表不相鄰,1代表相鄰

輸入描述 input description

第一行乙個整數n,代表地圖上有n個點

接下來n行,每行n個整數,每個整數是0或者1。第i行第j列的值代表了第i個點和第j個點之間是相鄰的還是不相鄰,相鄰就是1,不相鄰就是0.

我們保證a[i][j] = a[j][i] (a[i,j] = a[j,i])

輸出描述 output description

染色的方案數

樣例輸入 sample input

80 0 0 1 0 0 1 0 

0 0 0 0 0 1 0 1 

0 0 0 0 0 0 1 0 

1 0 0 0 0 0 0 0 

0 0 0 0 0 0 0 0 

0 1 0 0 0 0 0 0 

1 0 1 0 0 0 0 0 

0 1 0 0 0 0 0 0

樣例輸出 sample output

15552

資料範圍及提示 data size & hint

n<=8

/**time:2016/9/22

note:

codevs 1116 四色問題

題意很明顯

**/#includeusing namespace std;

int n;

int map[9][9];

int col[9]; //1 2 3 4分別代表四種顏色

int cnt;

void dfs(int x)

for(int i=1;i<=4;i++)

}int main(){

while(scanf("%d",&n)!=eof){

cnt=0;

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

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

scanf("%d",&map[i][j]);

dfs(1);

cout<

codevs 1116 四色問題

題目描述 description 給定n 小於等於8 個點的地圖,以及地圖上各點的相鄰關係,請輸出用4種顏色將地圖塗色的所有方案數 要求相鄰兩點不能塗成相同的顏色 資料中0代表不相鄰,1代表相鄰 輸入描述 input description 第一行乙個整數n,代表地圖上有n個點 接下來n行,每行n個...

CODEVS 1116 四色問題(DFS)

時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 給定n 小於等於8 個點的地圖,以及地圖上各點的相鄰關係,請輸出用4種顏色將地圖塗色的所有方案數 要求相鄰兩點不能塗成相同的顏色 資料中0代表不相鄰,1代表相鄰 輸入描述 input description 第一行乙個整數n,...

codevs 1116 四色問題(dfs)

題目描述 description 給定n 小於等於8 個點的地圖,以及地圖上各點的相鄰關係,請輸出用4種顏色將地圖塗色的所有方案數 要求相鄰兩點不能塗成相同的顏色 資料中0代表不相鄰,1代表相鄰 輸入描述 input description 第一行乙個整數n,代表地圖上有n個點 接下來n行,每行n個...