zhuchenzhang @ 2018-04-15 08:30:51
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[1000],n,ans=0;
scanf("%d",&n);
for(int i=1;i<=2*n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=2*n;i++)
for(int j=1;j<=a[i];j++)
{
ans++;
if(ans>n)
{
puts("");
ans=1;
}
if(i%2==0)printf("1");
else printf("0");
}
return 0;
}
为啥只有80分???
by 焰羽 @ 2018-04-21 20:10:31
读入应是用一个累加器,当累加器大于n*n时,跳出
不用谢!!!
by 焰羽 @ 2018-04-21 20:13:51
#include <iostream>
using namespace std;
int a[600];
int b[600];
int main()
{
int n,p=0,c,d,e=0,l=0;
cin>>n;
while(e!=n*n)
{
cin>>a[l]>>b[l];
e+=a[l]+b[l];
l++;
}
for(int i=0;i<n*3;i++)
{
c=a[i];
for(int j=0;j<c;j++)
{
cout<<"0";
p++;
if(p==n)
{
cout<<endl;
p=0;
}
}
d=b[i];
for(int k=0;k<d;k++)
{
cout<<"1";
p++;
if(p==n)
{
cout<<endl;
p=0;
}
}
}
return 0;
}