bnu1057 魔方 C语言版
2008-12-29 22:32
302 查看
北京师范大学珠海分校
Judge Online of ACM ICPC
1057 魔方
C语言版
#include <stdio.h>
int main(){
int i,j,k,m,n,num;
int a[20][20];
while(1){
scanf("%d%d",&n,&m);
if(n==0&&m==0)break;
for(i=0;i<n;i++)
for(j=0;j<m;j++) a[i][j]=0;
i=0;
j=0;
k=1;
a[i][j]=k++;
while(k<=n*m){
while(i<n-1&&a[i+1][j]==0)
a[++i][j]=k++;
while(j<m-1&&a[i][j+1]==0)
a[i][++j]=k++;
while(i>0&&a[i-1][j]==0)
a[--i][j]=k++;
while(j>0&&a[i][j-1]==0)
a[i][--j]=k++;
}
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%d",a[i][j]);
printf("/n");
}
printf("/n");
}
return 0;
}
Judge Online of ACM ICPC
1057 魔方
C语言版
#include <stdio.h>
int main(){
int i,j,k,m,n,num;
int a[20][20];
while(1){
scanf("%d%d",&n,&m);
if(n==0&&m==0)break;
for(i=0;i<n;i++)
for(j=0;j<m;j++) a[i][j]=0;
i=0;
j=0;
k=1;
a[i][j]=k++;
while(k<=n*m){
while(i<n-1&&a[i+1][j]==0)
a[++i][j]=k++;
while(j<m-1&&a[i][j+1]==0)
a[i][++j]=k++;
while(i>0&&a[i-1][j]==0)
a[--i][j]=k++;
while(j>0&&a[i][j-1]==0)
a[i][--j]=k++;
}
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%d",a[i][j]);
printf("/n");
}
printf("/n");
}
return 0;
}
相关文章推荐
- bnu1255 DNA链 C语言版
- bnu1276 阿笠博士的游戏 C语言版
- bnu1298 BNUEP的火炬手 C语言版
- bnu1063 聪明的辉蛋 C语言版
- bnu1075 翻转字符串 C语言版
- bnu1123 身份证号码验证 C语言版
- bnu1237 Cantor表 C语言版
- bnu1252 缩短的时间 C语言版
- bnu1256 魔法公园 C语言版
- bnu1268 种树问题 C语言版
- bnu1281 忙乱的活动 C语言版
- bnu1054 杨辉三角 C语言版
- bnu1064 爱运动的辉蛋 C语言版
- bnu1076 大数乘方 C语言版
- bnu1124 歌德巴赫猜想 C语言版
- bnu1244 求合数 C语言版
- bnu1257 全能的福娃 C语言版
- bnu1269 报数游戏 C语言版
- bnu1282 哪里男生最多? C语言版
- bnu1055 阶乘 C语言版