中等 · 多行輸入

矩陣對角線求和

第一道輸入跨多行的題:先讀 n,再讀 n 行,把行下標等於列下標的格子加起來。

題目

輸入:第一行是 n(1 ≤ n ≤ 20)。隨後 n 行,每行 n 個以空格分隔的整數。

輸出:主對角線之和(行下標 = 列下標,從 0 數)。

樣例:

輸入輸出
2
1 2
3 4
5

你的解答

Program.cs — 你的解答
"用我的輸入試跑"的自定義輸入

判題完全在你的瀏覽器裡對隱藏測試執行。程式碼隨打隨存(本地)。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 讀一行,是網格類題的標準姿勢——流一次給你一行,你就一次處理一行。下一題:單詞計數。