799の別バージョン作ってみたんだが理由がわからん。誰か助けて。
#include <iostream>
using namespace std;

#define SIZE 5

int main(){
int i,u,num;
num = u = i = 0;
int a[SIZE][SIZE+1];//+1はずせないのはなぜ??回答もとむ

//入力
for(u = 0;u < SIZE;){
for(i = 0; i < SIZE;i++){
num++;
a[u][i] = num;
}
u++;
if(u < SIZE){
for(i = SIZE; i > 0;i--){
num++;
a[u][i] = num;
}
}else{
break;
}
u++;
}