gggpx @ 2023-07-20 20:31:31
#include <stdio.h>
/*****************压缩技术***************/
int main()
{
int n = 0, a[500];
scanf("%d", &n);
int size = n * n, max = 0, k = 0;
for (; k < 500; k++)
{
if (max < size)
{
scanf("%d", &a[k]);
max += a[k];
}
else
break;
}
int u = 0;
for (int i = 0; i < k; i++)
{
if (a[i] != 0)
{
if (i % 2 == 0)
{
for (int j = 0; j < a[i]; j++)
{
if (u % n == 0 && u != 0)
{
printf("\n");
}
printf("0");
u++;
}
}
else if (i % 2 == 1)
{
for (int j = 0; j < a[i]; j++)
{
if (u % n == 0)
{
printf("\n");
}
printf("1");
u++;
}
}
}
else
break;
}
return 0;
}
by gggpx @ 2023-07-20 20:32:17
#include <stdio.h>
/*****************压缩技术***************/
int main()
{
int n = 0, a[50]; // 声明变量和数组
scanf("%d", &n); // 输入n的值
int size = n * n, max = 0, k = 0; // 计算最大值和数组中元素个数
for (; k < 50; k++) // 读取数组元素
{
if (max < size)
{
scanf("%d", &a[k]);
max += a[k];
}
else
break;
}
int u = 0; // 计数器
for (int i = 0; i < k; i++) // 解压数组元素并输出
{
if (a[i] != 0)
{
if (i % 2 == 0) // 偶数位置为0
{
for (int j = 0; j < a[i]; j++)
{
if (u % n == 0 && u != 0) // 换行条件
{
printf("\n");
}
printf("0");
u++;
}
}
if (i % 2 == 1) // 奇数位置为1
{
for (int j = 0; j < a[i]; j++)
{
if (u % n == 0) // 换行条件
{
printf("\n");
}
printf("1");
u++;
}
}
}
else
break;
}
return 0;
}