Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<stdio.h>#include<string.h>#include<string>#include<vector>#include<stdlib.h>#include<map>using namespace std;int stktop;map<string,vector<int>> msv;map<string,vector<int>>::iterator msvi;struct state{vector<string> vs;vector<int> vi;}states[1000];int main(){stktop = 0;char s[1000];scanf("%s",&s);int i;int j;for(j=0;s[j];j++){for(i=0;i<=j;i++){char tmp[100];int k;for(k=0;k<=j-i;k++){tmp[k] = s[i+k];}tmp[j-i+1] = 0;string s = string(tmp);msv[s].push_back(j+1);