CH0503 奇數碼問題 逆序對

2021-09-27 03:57:23 字數 661 閱讀 6891

此題有結論:兩個局面可以互達的充要條件是寫出一列去掉 0

00 後,逆序對數奇偶性相同。

因為有奇數列,可以發現,無論怎麼移動,逆序對數的奇偶性不發生改變,然而其充分性不易證明,記住即可。

#include

#include

inline

intread()

const

int maxn =

505;

int n, bit[maxn * maxn]

;inline

intask

(int x)

inline

void

add(

int x,

int d)

intmain()

memset

(bit,0,

sizeof

(bit));

for(

int i =

1; i <= n * n;

++i)

if(cnt1 %

2== cnt2 %2)

printf

("tak\n");

else

printf

("nie\n");

}return0;

}

CH0503 奇數碼問題(逆序對)

題面 奇數碼問題 思路 找了好久,沒有找到奇數碼問題和 n m n mn m 數碼問題的詳細證明。先記個結論。奇數碼遊戲兩個局面可達,當且僅當兩個局面下網路中的數依次寫成不含零的 1 11 到 n n 1 n n 1 n n 1 的序列後,逆序對個數的奇偶性相同。結論必要性證明 空格 即 0 00 ...

奇數碼問題 逆序數

時間限制 1 sec 記憶體限制 128 mb 提交 69 解決 23 提交 狀態 討論版 命題人 admin 題目描述 你一定玩過八數碼遊戲,它實際上是在乙個3 3的網格中進行的,1個空格和1 8這8個數字恰好不重不漏地分布在這3 3的網格中。例如 5 2 8 1 3 4 6 7 在遊戲過程中,可...

逆序對 cofun1917 奇數碼問題

description 你一定玩過八數碼遊戲,它實際上是在乙個33的網格中進行的,1個空格和1 8這8個數字恰好不重不漏地分布在這33的網格中。例如 5 2 8 1 3 4 6 7 在遊戲過程中,可以把空格與其上 下 左 右四個方向之一的數字交換 如果存在 例如在上例中,空格可與左 上 下面的數字交...