dongxinye1 @ 2022-08-02 20:32:40
有大佬可以帮忙吗? 实在过不了
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[10086];
int b[10086];
int main(){
cin>>n;
for(int i=0;i<n*2;i++){
cin>>a[i];
}
for(int i=0;i<n*2;i++){
if(i==0){
m=a[i];
for(int j=0;j<a[0];j++){
b[j]=0;
}
}else{
for(int j=m;j<m+a[i]+1;j++){
if(i%2==0){
b[j]=0;
}else if(i%2!=0){
b[j]=1;
}
}
m+=a[i];
}
}
for(int i=0;i<n*n;i++){
if(i%n==0&&i!=0){
cout<<endl;
}
cout<<b[i];
}
return 0;
}
by _Hu_Tao @ 2022-08-12 21:51:26
这是AC代码,自己理解一下
你这个一维数组不好做
并且你怎么知道一定会有n*2个压缩码呢?
#include<bits/stdc++.h>
using namespace std;
int a[201][201];
int main(){
int n,x,k=0,i=1,j=1;
cin>>n;
while(cin>>x){
while(x>0){
if(j<=n){
a[i][j]=k;
j++;
x--;
}
else{
i++;
j=1;
}
}
if(k==0)k=1;
else k=0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}
by power_man @ 2022-08-19 10:12:53
楼上大佬的代码有运行不了的吗
by power_man @ 2022-08-19 10:14:06
这样应该就好了
#include<iostream>
using namespace std;
int a[201][201];
int main(){
int n,x,he=0/*加了个这个*/,k=0,i=1,j=1;
cin>>n;
while(he<n*n){//改
cin>>x;//改
he+=x;//改
while(x>0){
if(j<=n){
a[i][j]=k;
j++;
x--;
}
else{
i++;
j=1;
}
}
if(k==0)k=1;
else k=0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}