鄰接矩陣乘法 沼澤鱷魚

2021-10-12 21:52:58 字數 1322 閱讀 1784

洛谷_p2579[zjoi2005]沼澤鱷魚

ssl_p2511沼澤鱷魚

居然有點想接觸一下鱷魚這種生物…

由於鱷魚的活動週期只有2,3,4。

所以很容易得到乙個為期12的大週期。

於是我們可以先得出大週期矩陣。先用單位矩陣乘上k/12個。

然後再乙個個處理狀態,分別乘上。

我們設矩陣 a[i][j] 為 從i點走到j點的方案數。

這樣,兩個矩陣相乘便可以得到下乙個單位時間的矩陣。

我們便可以構建12個狀態的矩陣,將鱷魚會出現的位置填掉。

注意點和時間都是從0開始的,由於矩陣乘法定義方面我用了之前的**,所以輸入的時候便處理了一下。

#include

int n, m, end, start, k, t, x, y, nfish, pst[10]

;struct asdf e,a,a[15]

,k;

asdf operator

*(asdf aa, asdf bb)

asdf ksm

(int now)

return ll;

}int

main()

scanf

("%d"

,&nfish)

;for

(int i =

1; i <=12;

++i)

for(

int i =

1; i <= n;

++i)

for(

int i =

1; i <= nfish;

++i)

for(

int j =

1; j <=12;

++j)

//第j週期

for(

int l =

1; l <= n;

++l)

//所有點都不能到鱷魚出現的點

a[j]

.jz[l]

[pst[j%t]]=

0;}if

(k >=12)

else k = e;

for(

int i =

1; i <= k %12;

++i)

//週期內。

k = k * a[i]

;printf

("%d"

,k.jz[start]

[end]);

//輸出

}

鄰接矩陣學習

鄰接矩陣 是表示頂點之間相鄰關係的矩陣。因此,用乙個一維陣列存放圖中所有頂點資料 用乙個二維陣列存放頂點間的關係 邊或弧 的資料,這個二維陣列稱為鄰接矩陣。鄰接矩陣又分為有向圖鄰接矩陣和無向圖鄰接矩陣。設g v,e 是乙個圖,其中v g的鄰接矩陣是乙個具有下列性質的n階方陣 對無向圖而言,鄰接矩陣一...

鄰接矩陣學習

鄰接矩陣 是表示頂點之間相鄰關係的矩陣。因此,用乙個一維陣列存放圖中所有頂點資料 用乙個二維陣列存放頂點間的關係 邊或弧 的資料,這個二維陣列稱為鄰接矩陣。鄰接矩陣又分為有向圖鄰接矩陣和無向圖鄰接矩陣。設g v,e 是乙個圖,其中v g的鄰接矩陣是乙個具有下列性質的n階方陣 對無向圖而言,鄰接矩陣一...

鄰接矩陣(Adjacency Matrix)

鄰接矩陣的特點 1 對於有n個頂點的無向圖最多需要n n 1 2個儲存空間,有向圖最多需要n 2個儲存空間 2 對於無向圖,鄰接矩陣第i行元素之和是圖第i個頂點的度 3 鄰接矩陣適用於稠密圖 4 方便搜尋兩頂點是否有邊或弧 鄰接矩陣的屬性 public static final int inf 32...