题意:
给一个字符串,可以复制某一段字符,问最少需要多少步能将其输出,比如abcabcd,先输入abc然后再赋值abc再输入d就只需要5步。
复制的这段字符 必须是从字符串的0位置开始复制的 而且只能粘贴一次 例abcabcabc 输出为7
emm。。。
str.substr(i,j) 截取字符串str第i位置开始的长度为j的一段字符
#include <bits/stdc++.h> //freopen("1.txt", "r", stdin); using namespace std; const int maxn = 10010, INF = 0x7fffffff; int main() { int n; string str; cin>> n >> str; int res = n; for(int i=1; i<=n/2; i++) if(str.substr(0, i) == str.substr(i, i)) res = n - i + 1; cout<< res <<endl; return 0; }