这样一道入门题目,本来可以用for循环直接操作,但作者异想天开(xian de dan teng)地把所有数据登记在一个数组里面,然后再统一按格式输出。也就是定义一个数组Map,大小为n成n,然后按照输入数据,把Map中每一个点改为0或者是1,然后根据题目要求的格式输出。比较简单,就直接贴代码了。?
#include<stdio.h>
int main()
{
int n, a, b, i, arr[50000], k = 0, j = 0;
scanf("%d", &n);
while (k<n*n)
{
scanf("%d%d", &a, &b);
for (j = 0; j < a; j++)
{
arr[k] = 0;
k++;
}
for (j = 0; j < b; j++)
{
arr[k] = 1;
k++;
}
}
i = 0;
while (i<n*n)
{
printf("%d", arr[i]);
if ((i + 1) % n == 0)
printf("\n");
i++;
}
return 0;
}
?