Habseligkeit @ 2022-01-19 14:42:57
#include<bits/stdc++.h>
using namespace std;
int n,x,a[200020],num;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
if(i%2==0){
for(int j=num+1;j<=num+x;j++)
a[j]=1;
}
num+=x;
}
for(int i=1;i<=n*n;i++){
if(i%7==0){
cout<<a[i]<<endl;
continue;
}
cout<<a[i];
}
}
by Novice233 @ 2022-01-19 14:46:36
@PluckDuck
by IaLWH @ 2022-01-19 14:47:17
@Novice233 什么事
by Novice233 @ 2022-01-19 14:48:14
@PluckDuck 您那么强 来解答一下吧
by IaLWH @ 2022-01-19 14:48:57
@Novice233 您那么强 来解答一下吧
by IaLWH @ 2022-01-19 14:50:00
@Novice233 好好学习,天天向上
by IaLWH @ 2022-01-19 14:51:03
@Novice233 我知道你是在为楼主好
by Novice233 @ 2022-01-19 14:57:07
@未来的大犇 算了 我来回答一下吧 n之后的数字个数并不一定是n个
by coldy_rainy @ 2022-01-19 15:06:46
@未来的大犇
改进代码如下
#include<bits/stdc++.h>
using namespace std;
int n,x,a[200020],num;
int main(){
cin>>n;
for(int i=1;num!=n*n;i++){
cin>>x;
if(i%2==0){
for(int j=num+1;j<=num+x;j++)
a[j]=1;
}
num+=x;
}
for(int i=1;i<=n*n;i++){
if(i%n==0){
cout<<a[i]<<endl;
continue;
}
cout<<a[i];
}
}
by coldy_rainy @ 2022-01-19 15:11:52
@未来的大犇
你错是错在这里:
【1】
n不一定是7,因此这行代码:
if(i%7==0)
应该改成
if(i%n==0)
【2】
循环条件:
for(int i=1;i<=n;i++)
错误❌
仔细看看样例,n后面跟的数的个数不一定是n,
因此你的循环条件错了,应该为:
for(int i=1;num!=n*n;i++)
当长度不是等于n*n时停止读入,不然就WA了
亲测AC
by IaLWH @ 2022-01-19 15:12:51
Orz