中等 · 多行輸入
矩陣對角線求和
第一道輸入跨多行的題:先讀 n,再讀 n 行,把行下標等於列下標的格子加起來。
題目
輸入:第一行是 n(1 ≤ n ≤ 20)。隨後 n 行,每行 n 個以空格分隔的整數。
輸出:主對角線之和(行下標 = 列下標,從 0 數)。
樣例:
| 輸入 | 輸出 |
|---|---|
21 23 4 | 5 |
你的解答
"用我的輸入試跑"的自定義輸入
判題完全在你的瀏覽器裡對隱藏測試執行。程式碼隨打隨存(本地)。Ctrl+Enter 判題。
卡住了?提示
提示 1 —— 根本不用存整個矩陣
一次讀一行,只留下第 i 個元素(行自己的下標)。這一行剩下的立刻扔掉——你永遠用不到整個格子。
提示 2 —— 讀取迴圈
for (int i = 0; i < n; i++) { string[] row = Console.ReadLine().Split(' '); sum += int.Parse(row[i]); }——整道題就這一句。
解答(先自己試!)
string[] parts = Console.ReadLine().Split(' ');
int n = int.Parse(parts[0]);
int sum = 0;
for (int i = 0; i < n; i++)
{
string[] row = Console.ReadLine().Split(' ');
sum += int.Parse(row[i]);
}
Console.WriteLine(sum);
每次 ReadLine 讀一行,是網格類題的標準姿勢——流一次給你一行,你就一次處理一行。下一題:單詞計數。