View Code of Problem 3311

#include<iostream>
using namespace std;
const int N = 110;
int h[N][N];
int main()
{
    int n, m;
    cin >> n >> m;
    int dx[] = {0,1,0,-1}, dy[] = {1,0,-1,0};
    int x = 0, y = 0, d = 0;
    for(int k = 1;k <= m * n;k ++)
    {
        h[x][y] = k;
        int a = x + dx[d], b = y + dy[d];
        if(a < 0 || a >= n || b < 0 || b >= m || h[a][b])
        {
            d = (d + 1) % 4;
            a = x + dx[d], b = y + dy[d];
        }
        x = a, y = b;
    }
    for(int i = 0;i < n;i ++)
    {
        for(int j = 0;j < m;j ++)
        {
            cout << "   " << char((h[i][j] - 1) % 26 + 'A');
        }
        cout << endl;
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 3311