Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- func main(){
- var n int
- fmt.Scanln(&n)
- matrix := make([][]int, n)
- for i := 0; i < n; i++ {
- matrix[i] = make([]int, n)
- }
- var top int= 0
- var down int= n - 1
- var left int= 0
- var right int= n - 1
- var dir int= 0
- var count int= 0
- for (top <= down && left <= right) {
- if (dir == 0) {
- for i := left; i <= right; i++ {
- count++
- matrix[top][i] = count
- }
- top++
- } else if (dir == 1) {
- for i := top; i <= down; i++ {
- count++
- matrix[i][right] = count
- }
- right--
- } else if (dir == 2) {
- for i := right; i >= left; i-- {
- count++
- matrix[down][i] = count
- }
- down--
- } else if (dir == 3) {
- for i := down; i >= top; i-- {
- count++
- matrix[i][left] = count
- }
- left++
- }
- dir = (dir + 1) % 4;
- }
- for i:=0;i<len(matrix);i++{
- for j:=0;j<len(matrix[i]);j++{
- fmt.Printf("%d ",matrix[i][j])
- }
- fmt.Println()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment