darling020162021 @ 2024-10-17 10:50:15
#include<bits/stdc++.h>
using namespace std;
const int MAXN=205*205;
int a[MAXN],pi[MAXN];
int main(){
int n,sum,i,num;
sum=0;
num=0;
cin>>n;
for(i=0;sum!=n*n;i++){//将压缩码存入数组且记录i
cin>>a[i];
sum+=a[i];
}
for(int j=0;j<i;j++){//将a[i]开始变成0/1
for(int k=0;k<a[j];k++){
if(j%2==1){//a[奇数]为1
pi[num]=1;
}else{//a[偶数]为0
pi[num]=0;
}
num++;
}
}
for(int k=0;k<n;k++){//输出01
for(int j=0;j<n;j++){
cout<<pi[j];
}
cout<<endl;
}
return 0;
}
我不知道我哪里错了呀呀呀呀
by 未泯 @ 2024-10-17 11:05:55
输出的时候,对应的下标不应该是 j。 也许是 kn+j