View Code of Problem 3311

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		int m =in.nextInt();
		int n =in.nextInt();
		char[][] matrix =new char[m][n];
		int[][] way = {{0,1},{1,0},{0,-1},{-1,0}};
		int waymode=0;
		int x=0;
		int y=0;
		
		int count=0;
		for(int i =0;i<n*m;i++) {
			matrix[x][y]=(char)((count)%26+65);
			count++;
			if(!(x+way[waymode][0]>=0 && x+way[waymode][0]<m && y+way[waymode][1]>=0 && y+way[waymode][1]<n) || matrix[x+way[waymode][0]][y+way[waymode][1]]!='\0') {
				waymode+=1;
				waymode = waymode%4;
				x+=way[waymode][0];
				y+=way[waymode][1];
			}else {
				x+=way[waymode][0];
				y+=way[waymode][1];
			}	
		}
		for(char[] ch: matrix) {
			for(char c:ch) {
				System.out.print("   "+c);
			}
			System.out.println();
		}
	}
}

Double click to view unformatted code.


Back to problem 3311