首页 > 欢聚笔试编程(ios)
头像
leelee_yan_
编辑于 2020-08-31 20:37
+ 关注

欢聚笔试编程(ios)

难受,在本地写得,忘记删除中间测试cout了,怎么都ac不了,大佬们看看我写的暴力法错了吗?ps:代码有点丑,望指正。
#include<bits/stdc++.h>
using namespace std;

int main(){
    string s;
    cin>>s;
    int n = s.size();
    int p = 0;
    int q = 0;
    int maxS = 1;
    string ans = "";
    while(p < n){
    	while(p+q <= n-q){
        	if(s.substr(p,q) == s.substr(p+q,q)){
            	maxS = max(maxS,q);
        }
			q++;
    	}
    	int count = 1;
    	while(p+count*maxS <= n-maxS &&s.substr(p,maxS) == s.substr(p+count*maxS,maxS)){
    		count++; 
		}
		char t = count+'0';
    	ans=ans + t + "(" + s.substr(p,maxS) + ")";
    	p += count*maxS;
    	q = 0;
    	maxS = 1;
	}
	cout<<ans<<endl;
    
    return 0;
}


全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐