TopCoder

User's AC Ratio

100.0% (2/2)

Submission's AC Ratio

66.7% (2/3)

Tags

Description

雞塊是正在 APCSC 學院讀書的學生,在某堂數學課中,他學到了矩陣存在一個「轉置」操作,具體來說,一個矩陣 $A$ 的轉置 $A^ T$ 滿足
$$A^ T_{i, j} = A_{j, i}$$
例如矩陣

1 2 3
4 5 6
7 8 9

轉置後會變成

1 4 7
2 5 8
3 6 9

某一天,在雞塊在準備段考考古題時發現考了一大堆的轉置操作計算!不想被當人體計算機的雞塊決定寫個程式來計算一個 $n \times n$ 矩陣的轉置是多少,其他的功能都寫好了,但最關鍵的轉置,雞塊卻不知道怎麼寫,你能幫幫他嗎?
喔對,因為雞塊特別討厭 [],他們實在是太方了!所以希望你給他的程式裡能夠不要出現這兩個符號

請在程式碼最前面引入標頭檔 lib0631.h,並實作 void transpose(int **arr, int n),其有以下特性:

  • arr 是一個 int 指標的指標,每個指標指向一個 int*,其再指向一個 int。整個 arr 可視作一個二維陣列。
  • n 代表 arr 矩陣的大小是 $n \times n$ 的。
  • 呼叫 transpose(arr, n) 後,arr 會變成轉置過後的樣子。

以下是一個可以成功編譯,但不保證 AC 的程式碼:

#include "lib0631.h"
using namespace std;

void transpose(int **arr, int n) {
}

Input Format

請勿輸入任何東西,否則將造成不可預期的後果。

  • $1 \le n \le 1000$
  • $-10^ 9 \le a_i \le 10^ 9$

Output Format

請勿輸出任何東西,否則可能造成預料之外的結果。

Sample Input 1

3
1 2 3
4 5 6
7 8 9

Sample Output 1

1 4 7
2 5 8
3 6 9

Hints

測試用標頭檔
這裡提供一份本地測試用的標頭檔,你可以將其複製下來存檔成 lib0631.h#include "lib0631.h" 做使用。但請注意,這只是測試用的標頭檔,一些與解題無關的行為將會與 judge 上的有所不同,因此請不要嘗試任何與解題無關的行為,很可能會導致各種不可預期的後果。

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0 範例測資 0
2 0~9 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 2
2 1000 524288 65536 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2