J解压文本为啥这样写说格式错误呀

#include <bits/stdc++.h>
// #define int long long
#define inf 0x3f3f3f3f
#define ll long long
#define pii pair<int, int>
#define db double
using namespace std;
const int maxn = 10;
const int mod = 998244353;
string str[10];
int vis[maxn];
string ans;
void dfs(int u) {
    vis[u] = 1;
    for (int i = 0; i < (int)str[u].length() - 1; i++) {
        if (str[u][i] == '*') {
            i++;
            if (!vis[str[u][i] - '0'])
                dfs(str[u][i] - '0');
            else {
                cout << '#' << endl;
                exit(0);
            }
        } else {
            ans.push_back(str[u][i]);
        }
    }
    if (ans.length() > 1e6) {
        cout << '#' << endl;
        exit(0);
    }
    vis[u] = 0;
}
signed main() {
    int n;
    cin >> n;
    getchar();
    for (int i = 1; i <= n; i++) {
        while (1) {
            string tem;
            getline(cin, tem);
            // cout << tem.back() << endl;
            str[i] += tem;
            if (tem.back() == '#')
                break;
        }
    }
    dfs(1);
    cout << ans << endl;
    // system("pause");
    return 0;
}

全部评论
1
送花
回复
分享
发布于 04-11 10:09 吉林
getline(cin,s,'(36675)#')读到#,#后面有换行 用getchar()读
1
送花
回复
分享
发布于 04-11 11:44 吉林
秋招专场
校招火热招聘中
官网直投
错因为参数默认是(cin,s,'\n&(30945)#39;)读入后没有\n
1
送花
回复
分享
发布于 04-11 11:45 吉林
输入用         getchar();             getline(cin, str[i],'(36675)#');
点赞
送花
回复
分享
发布于 04-10 22:44 吉林

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务