【學習筆記】〖九度OJ〗題目1443:Tr A
時間限制:1 秒
記憶體限制:128 兆
特殊判題:否
提交:283
解決:168
- 題目描述:
-
A為一個方陣,則Tr A表示A的跡(就是主對角線上各項的和),現要求Tr(A^k)%9973。
- 輸入:
-
資料的第一行是一個T,表示有T組資料。
每組資料的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)兩個資料。接下來有n行,每行有n個數據,每個資料的範圍是[0,9],表示方陣A的內容。
- 輸出:
-
對應每組資料,輸出Tr(A^k)%9973。
- 樣例輸入:
-
2 2 2 1 0 0 1 3 99999999 1 2 3 4 5 6 7 8 9
- 樣例輸出:
-
2 2686
間。
#include<iostream> using namespace std; #define MOD 9973 class Matrix { public: int m[11][11]; int n;//方陣的行數 int tr; Matrix() { tr = 0; for (int i=0; i<11; i++) { for (int j=0; j<11; j++) { m[i][j] = 0; } } } Matrix(int n) { tr = 0; this->n = n; for (int i=0; i<n; i++) { for (int j=0; j<n; j++) { m[i][j] = 0; } } } void getT(int n) { tr=0; for (int i=0; i<n; i++) { tr = (tr + m[i][i])%MOD; } } Matrix operator * (const Matrix a) const { Matrix res; res.n = n; for (int i=0; i<n; i++) { for (int j=0; j<n; j++) { res.m[i][j] = 0; for (int k=0; k<n; k++) { res.m[i][j] = (res.m[i][j] + (m[i][k] * a.m[k][j]) % MOD) % MOD; } } } return res; } }; int main() { freopen("input.in", "r", stdin); freopen("output.out","w", stdout); int num; while (cin >> num && num!=0) { int n, k, i, j, x, y, z; for (i=0; i<num; i++)//每組一次 { //輸入部分 cin >> n >> k; Matrix mtx(n); for (x=0; x<n; x++) { for (y=0; y<n; y++) { cin >> mtx.m[x][y]; } } //計算部分 int tmp = k; Matrix res(n); for (z=0; z<n; z++) { res.m[z][z] = 1; } while (k>0) { if (k%2 == 1) { res = res * mtx; } mtx = mtx*mtx; k/=2; } res.getT(n); cout << res.tr << endl; }//end of for }//end of while return 0; }
相關推薦
【學習筆記】〖九度OJ〗題目1443:Tr A
題目1443:Tr A 時間限制:1 秒 記憶體限制:128 兆 特殊判題:否 提交:283 解決:168 題目描述: A為一個方陣,則Tr A表示A的跡(就是主對角線上各項的和),現要求Tr(A^k)%9973。 輸入: 資料的第一行是一個T
【學習筆記】〖九度OJ〗題目1156:誰是你的潛在朋友
題目1156:誰是你的潛在朋友 時間限制:1 秒 記憶體限制:32 兆 特殊判題:否 提交:2594 解決:1214 題目描述: “臭味相投”——這是我們描述朋友時喜歡用的詞彙。兩個人是朋友通常意味著他們存在著許多共同的興趣。然而作為一個宅
【學習筆記】〖九度OJ〗題目1446:Head of a Gang
題目1446:Head of a Gang 時間限制:1 秒 記憶體限制:128 兆 特殊判題:否 提交:622 解決:144 題目描述: One way that the police finds the head of a gang is to
【學習筆記】〖九度OJ〗題目1186:列印日期
題目1186:列印日期 時間限制:1 秒 記憶體限制:32 兆 特殊判題:否 提交:2549 解決:918 題目描述: 給出年分m和一年中的第n天,算出第n天是幾月幾號。 輸入: 輸入包括兩個整數y(1<=y<=3000),n(1&
【學習筆記】〖九度OJ〗題目1464:Hello World for U
題目描述: Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, "helloworld" can be printed as:
【學習筆記】65~百度看到的比較好的Android原始碼學習路徑
我幹了3年Android sdk開發,覺得到了瓶勁沒法更進一步,於是花了一年多點時間,大概摸到點門徑。根據前輩的經驗,Android底層完全入門需要兩年。 先說下我的入門過程: 第零步,下載原始碼,我下的4.2的,框架層原始碼10G,核心2G多,ctags給框架層建的標籤檔案都有600M,當時
【學習筆記】〖PAT〗1003. Emergency (25)
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads
【學習筆記】Jaccard相似度和廣義Jaccard相似度
1. 狹義Jaccard相似度,計算兩個集合之間的相似程度,元素的“取值”為0或1 對集合A和B,Jaccard相似度計算如下: Jaccard(A, B)= |A intersect B| / |A union B| 相似度數值在[0, 1]之間,當A==B的時候,為1. 優缺點,就是元素的取值只能是0或
【學習筆記】python爬取百度真實url
python 今天跑個腳本需要一堆測試的url,,,挨個找復制粘貼肯定不是程序員的風格,so,還是寫個腳本吧。 環境:python2.7 編輯器:sublime text 3 一、分析一下 首先非常感謝百度大佬的url分類非常整齊,都在一個
【GANs學習筆記】(九)WGAN-GP
6.1 WGAN-GP原理 WGAN待解決的問題是,未能將D真的限制在1-Lipschitz function內。我們不妨觀察一下1-Lipschitz function,會發現它其實等價於如下表達式: 也就是說,對於一個可微函式,當且僅當對於
【學習筆記】與調和級數相關的時間複雜度
宣告:博主寫這個部落格的理由只是為了緩解心情,大部分的東西都是我手推的,沒有驗證過,如果有問題敬請指出。 Noip2018day1完掛,非常難受,過來寫個部落格頹一下,緩解心情 1. 調和級數 調和級數
【學習筆記】關於DOM4J:使用DOM4J解析XML文檔
文本 class 中產 獲取 ber exce int() logs hone 一、概述 DOM4J是一個易用的、開源的庫,用於XML、XPath和XSLT中。采用了Java集合框架並完全支持DOM、SAX、和JAXP。 DOM4J最大的特色是使用大量的接口,主要接口都在o
【學習筆記】Java中生成對象的5中方法
目標 獲得 cti com pre lan except 我們 highlight 概述:本文介紹以下java五種創建對象的方式: 1.用new語句創建對象,這是最常用的創建對象的方式。 2.使用Class類的newInstance方法 3.運用反射手段,調用java.la
【學習筆記】SIFT尺度不變特征 (配合UCF-CRCV課程視頻)
rri cnblogs -o mask 畫出 blocks http ucf 產生 SIFT尺度不變特征 D. Lowe. Distinctive image features from scale-invariant key points, IJCV 2004 -Lect
【學習筆記】String進階:StringBuffer類(線程安全)和StringBuilder類
n) static this util double 字符串 對象 ice 單線程 一、除了使用String類存儲字符串之外,還可以使用StringBuffer類存儲字符串。而且它是比String類更高效的存儲字符串的一種引用數據類型。 優點: 對字符串進行連接操作時,
【學習筆記】使用SQLyog連接MySQL數據庫
comm 丟失 school turn 復合主鍵 price not email pre 一、使用SQLyog創建數據庫用來管理學生信息 1 #創建數據庫student 2 DROP DATABASE IF EXISTS Myschool; 3 CREAT
【學習筆記】2017年7月18日MySQL測試:模擬QQ數據庫
關系 ref sts one database 等級 weight insert phone 模擬測試: QQ數據庫管理 一、創建數據庫並添加關系和測試數據 1 ##創建QQ數據庫,完成簡單的測試 2 3 #創建數據庫 4 DROP DATABASE IF EX
【學習筆記】C# 構造和析構
成員 int 學習 pri [] func 釋放內存 ring 銷毀 構造方法 構造方法是一個特殊的方法,負責初始化對象 構造方法名必須和類名一致 構造方法沒有返回值,但可以有參數,能夠重載 構造方法可以不寫,系統會自動為類添加一個無參的默認構造 如果將構造方法設置為P
【學習筆記】C# 靜態類
實例化 namespace [] line str 過程 ole test 數據 靜態修飾符 用static修飾的成員是靜態成員 靜態成員只能由類來調用 用static修飾的類是靜態類 靜態類不能實例化,只能包含靜態成員和const常量 在內存中一共有五個區域 1
【學習筆記】C# 接口
apple [] oat 訪問 names 使用 foo pub 修飾 使用interface關鍵字定義接口 接口定義一組成員但不直接實現它們 實現接口 實現接口的任何類都必須實現其所有的成員方法 接口不能直接實例化 接口可以包含方法和屬性聲明,不能包含字段 接口中所有