80分求助!!!

P1319 压缩技术

zhuchenzhang @ 2018-04-15 08:30:51

dalao请留步!!!

#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;
}

|