761
solution1
cpp
#include<stdio.h>
int main(){
int a[50][50] = {0}, i = 1, j = 1, count = 1, op = 0;
while(i < 40 && j < 40){
a[i][j] = count++;
if(!op) a[i][++j] = count++;
while(j >= 2){
a[++i][--j] = count++;
}
a[++i][j] = count++;
while(i >= 2){
a[--i][++j] = count++;
}
j++;
op = 1;
}
// for(int i = 1; i < 21; i++){
// for(int j = 1; j < 21; j++){
// printf("%d ", a[i][j]);
// }
// printf("\n");
// }
printf("%d", a[20][20]);
return 0;
}
solution2
cpp
#include<stdio.h>
int main(){
int a[50][50] = {0}, i = 1, j = 1, count = 1, op = 0;
a[1][1] = count++;
while(i < 40 && j < 40){
a[i][++j] = count++;
while(j >= 2){
a[++i][--j] = count++;
}
a[++i][j] = count++;
while(i >= 2){
a[--i][++j] = count++;
}
}
// for(int i = 1; i < 21; i++){
// for(int j = 1; j < 21; j++){
// printf("%d ", a[i][j]);
// }
// printf("\n");
// }
printf("%d", a[20][20]);
return 0;
}