社区讨论

不进食后人,注意"]"后有字母的情况+递归收束

P1928外星密码参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhj363mf
此快照首次捕获于
2025/11/03 19:58
4 个月前
此快照最后确认于
2025/11/03 19:58
4 个月前
查看原帖
写了半小时,这个代码是]后有字母就过不了的问题
把这个扔在这存着,我去写另一个思路了(不想改这个了真没头绪了)
CPP
#include <bits/stdc++.h>
using namespace std;
int zindex = 0;
// int dindex = 0;
int lns;
string zip;
int flr = 0;
// string doc;
int  zip_7(int st)
{
    for(;65 <= zip[st] && zip[st] <= 90;st++)
    {
        if(zip[st] == ']')  return st;
        cout << zip[st];
    }
    if('[' == zip[st]                )  
    {
        flr ++;
        zip_7(st+1);//
    }
    if(48 <= zip[st] && zip[st] <= 57)
    {
        int q = 0;
        int lp = 0;
        if(48 <= zip[st+1] && zip[st+1] <= 57){
            lp = 10 * (zip[st] - 48) + zip[st+1] - 48;
            st++;
        }
        else
            lp = zip[st] - 48;

        for(int i = 0; i < lp; i++)
        {
            q = zip_7(st+1);//
        }
        if(q < lns){
            zip_7(q + 1);
            return q+1;
        }
        else   
            return 0;
        flr --;

    }
    return 0;
}
int main()
{
    cin >> zip;
    lns = zip.length();
    zip_7(zindex);
}

回复

1 条回复,欢迎继续交流。

正在加载回复...