十个测试点全超时了,不知道怎么改,求大家指点。代码如下
#include <stdio.h>
int main()
{
int code[1000] = { 0 }; //code[0]是方阵边长
int i = 0;
char ch;
do {
scanf("%d%c", &code[i], &ch); //输入编码
i++;
} while (ch != '\n');
int count = 0; //count记录当前输出的总个数,每当等于code[0]的倍数 换行
int x = 0; //x是方阵中输出的数字,是1或0
int c; //c为本次输出x的个数,即code[i]
for (i = 1; count != code[0] * code[0]; i++)
{
c = code[i];
while (c)
{
printf("%d", x);
count++;
if (count % (code[0]) == 0)
printf("\n");
c--;
}
if (x == 1) //改变输出内容x
x = 0;
else
x = 1;
}
return 0;
}