41 lines
		
	
	
		
			665 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			665 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import "fmt"
 | 
						|
 | 
						|
func transpose(matrix [][]int) [][]int {
 | 
						|
	m := len(matrix)
 | 
						|
	n := len(matrix[0])
 | 
						|
	res := make([][]int, n)
 | 
						|
	for i := range res {
 | 
						|
		res[i] = make([]int, m)
 | 
						|
	}
 | 
						|
	for i := 0; i < m; i++ {
 | 
						|
		for j := 0; j < n; j++ {
 | 
						|
			res[j][i] = matrix[i][j]
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return res
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	var n int
 | 
						|
	fmt.Scan(&n)
 | 
						|
	matrix := make([][]int, n)
 | 
						|
	for i := range matrix {
 | 
						|
		matrix[i] = make([]int, n)
 | 
						|
		for j := range matrix[i] {
 | 
						|
			fmt.Scan(&matrix[i][j])
 | 
						|
		}
 | 
						|
	}
 | 
						|
	res := transpose(matrix)
 | 
						|
	for i := range res {
 | 
						|
		for j := range res[i] {
 | 
						|
			if j != n{
 | 
						|
				fmt.Printf("%d ", res[i][j])
 | 
						|
			} else {
 | 
						|
				fmt.Printf("%d", res[i][j])
 | 
						|
			}
 | 
						|
		}
 | 
						|
		fmt.Println()
 | 
						|
	}
 | 
						|
} |