Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <algorithm>
- #define ct 101
- int a[ct][ct];
- int main()
- {
- freopen("input.txt","r",stdin);
- freopen("output.txt","w",stdout);
- int n;
- scanf("%d ",&n);
- for (int i=1;i<=n;i++)
- {
- for (int j=1;j<=n;j++)
- {
- a[i][j]=0;
- }
- }
- /*for (int i=1;i<=n;i++)
- {
- for (int j=1;j<=n;j++)
- {
- printf("%d ",a[i][j]);
- }
- printf("\n");
- }*/
- int k=0;
- int i=1,j=0,cnt=0;
- while (cnt<n*n)
- {
- if (k%4==0)
- {
- while (a[i][j+1]==0 && j<n)
- {
- if (cnt <= n * n) fprintf(stderr, "right: (%d, %d) = %d\n", i, j, cnt);
- cnt++;
- j++;
- a[i][j]=cnt;
- }
- k++;
- continue;
- }
- if (k%4==1)
- {
- while (a[i+1][j]==0 && i<n)
- {
- if (cnt <= n * n) fprintf(stderr, "down: (%d, %d) = %d\n", i, j, cnt);
- cnt++;
- i++;
- a[i][j]=cnt;
- }
- k++;
- continue;
- }
- if (k%4==2)
- {
- while (a[i][j-1]==0 && j>1)
- {
- if (cnt <= n * n) fprintf(stderr, "left: (%d, %d) = %d", i, j, cnt);
- cnt++;
- j--;
- a[i][j]=cnt;
- }
- k++;
- continue;
- }
- if (k%4==3)
- {
- while (a[i-1][j]==0 && i>1)
- {
- if (cnt <= n * n) fprintf(stderr, "up: (%d, %d) = %d\n", i, j, cnt);
- cnt++;
- i--;
- a[i][j]=cnt;
- }
- k++;
- continue;
- }
- }
- for (int i=1;i<=n;i++)
- {
- for (int j=1;j<=n;j++)
- {
- printf("%d ",a[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement