只有1,3AC其他全WA求调

P1319 压缩技术

LeNotFound @ 2022-04-06 17:46:34

思路是先读入N 然后getline读入剩下的压缩码
每两位pushbackzip向量(去除空格)
然后定义bool类型state控制输出0还是1 第一层循环压缩码个数
第二层循环各个压缩码将char型字符pushans向量
第二层结束后state变成!state0状态变为1状态,1状态变为0状态
然后单独一个循环控制输出
0ans.size() 如果(i-1)%7==0就换行

Q:样例过了,1,3点AC 其他WA


by LeNotFound @ 2022-04-06 17:47:36

代码

#include<bits/stdc++.h>

using namespace std;

inline int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(!isdigit(ch))
    {
        if(ch=='-')
        {
            f=-1;
        }
        ch=getchar();
    }
    while(isdigit(ch))
    {
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    return x*f;
}

typedef long long ll;

ll N;

vector<ll> zip;

int main()
{
    N=read();

    string zipcode;
    getline(cin,zipcode);

    vector<char> ans;

    for (ll i = 0,j = 0; i <= zipcode.length()/2; i++,j+=2)
    {
        zip.push_back((ll)zipcode[j]-48);
    }

    bool state=0;

    for (ll i = 0; i < zip.size();i++)
    {
        for (ll k = 0; k < zip.at(i); k++)
        {
            if(state==0)
            {
                ans.push_back('0');
            }
            else if(state==1)
            {
                ans.push_back('1');
            }
        }
        // (state==0)?state=1:state=0;
        state=!state;
    }

    for (ll i = 0; i < ans.size(); i++)
    {
        cout<<ans.at(i);
        if((i+1)%N==0) cout<<endl;
    }

    return 0;
}

by Green123 @ 2022-04-13 19:17:42

zip.push_back((ll)zipcode[j]-48); 数字未必是一位数


by billhasbill @ 2022-04-13 19:19:16

zip.push_back((ll)zipcode[j]-48); 这行代码错了,长度有可能是两位数。 记得给我的评论点赞 抖音搜索Minecraft_697 记得关注我 谢谢? 我说的是真话


by billhasbill @ 2022-04-13 19:20:07

上边那个你说错了


by billhasbill @ 2022-04-13 19:20:31

@Green123 就是你


by Green123 @ 2022-04-13 19:22:11

你在叫我做什么,我先说的,一个意思,还打广告,你配吗


by Green123 @ 2022-11-05 12:44:12

@billhasbill


|