求问这个代码为什么会突然运行终止
  • 板块学术版
  • 楼主Lovely_Elaina
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/2/18 22:35
  • 上次更新2023/10/24 00:24:38
查看原帖
求问这个代码为什么会突然运行终止
781159
Lovely_Elaina楼主2023/2/18 22:35
#include <bits/stdc++.h>
using namespace std;
const int N = 500005;

int n,sum;
string p;

int cnt[1000005],ind;
char t[1000005][30];

unordered_map<string,int > m;

void insert(string s){
    int p = 0;
    for(int i = 0; s[i]; i++){
        int x = s[i]-'a';
        if(!t[p][x]) t[p][x] = ++ind;
        p = t[p][x];
    }
    cnt[p]++;
}

void dfs(){
    
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> p;
        
        int size = p.size();
        string x = ""+p[0];
        m[x]++;
        for(int j = 1; j <= size; j++){
            x = x + p[i];
            m[x]++;
        }
        
        sum += size;
        reverse(p.begin(),p.end());
        insert(p);
    }
    
    unordered_map<string,int >::iterator i;
    for(i = m.begin(); i != m.end(); i++){
        cout << i->first << endl;
    }
    
    /*for(auto &[k , v] : m){
        cout << k << " " << v << endl;
    }*/
    
    cout << sum << endl;
    return 0;
}

发现是遍历的问题,但是单独放出来又没有问题

希望不是我sb

2023/2/18 22:35
加载中...