矩陣冪 北京郵電大學複試機試題

2021-10-06 19:05:13 字數 1070 閱讀 4532

給定乙個n*n的矩陣,求該矩陣的k次冪,即p^k。

第一行:兩個整數n(2<=n<=10)、k(1<=k<=5),兩個數字之間用乙個空格隔開,含義如上所示。

接下來有n行,每行n個正整數,其中,第i行第j個整數表示矩陣中第i行第j列的矩陣元素pij且(0<=pij<=10)。另外,資料保證最後結果不會超過10^8。

對於每組測試資料,輸出其結果。格式為:

n行n列個整數,每行數之間用空格隔開,注意,每行最後乙個數後面不應該有多餘的空格。

示例1

複製

3

2 29 8

9 33 3

4 8 4

9 3 0

3 5 7

5 24 0 3 0 1

0 0 5 8 5

8 9 8 5 3

9 6 1 7 8

7 2 5 7 3

複製

153 96

108 81

1216 1248 708

1089 927 504

1161 1151 739

47 29 41 22 16

147 103 73 116 94

162 108 153 168 126

163 67 112 158 122

152 93 93 111 97

矩陣快速冪仍然用的是快速冪的思想 

結果為res,將k轉成二進位制,如果最後一位是1,則res=res*a;然後a=a*a,k右移一位

還有,樣例裡邊有輸入測試樣例的個數,但提交**的時候沒有,直接輸入的是n和k

#includeusing namespace std;

struct matrix

};matrix mul(matrix a,matrix b)

return res;

}void print(matrix a)

} res=fastmul(a,n,k);

print(res);

//把k轉化成二進位制

// }

return 0;

}

2023年北京郵電大學機試題目

趁著現在還記得趕快寫下來,個人回憶版 計算機學院機試題目 第一題 題目描述 輸入32位的二進位制01串,輸出這個數 1和 3後的32位二進位制串 輸入描述 先輸入t,表示輸入的組數 然後輸入t行二進位制串 輸出描述 輸出 1和 3後的二進位制串 輸入樣例 2000000000000000000000...

北京郵電大學2023年機試題 最長平衡串

給定只含01的字串,找出最長平衡子串的長度 平衡串 包含0和1的個數相同 串長最大10 6 乙個字串,只包含01,長度不超過1000000 一行乙個整數,最長的0與1的個數相等的子串的長度。2018北郵的壓軸題,想了蠻久的,個人認為主要的點在於,我們可以將0換成 1,然後求字首和陣列dp,這樣當dp...

北京郵電大學18年網研真題

problemb v字型數列,當且僅當三元組ia j 並且a k a j 算作乙個v型數列。輸入第一行為測試資料組數t 每組資料第一行為該陣列的數字個數 接下來一行為陣列元素 輸出 輸出對應陣列中符合v字形數列的個數 測試資料 2 1 2 2 1 2 1 2 輸出 include include i...