欢聚笔试编程(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;
}


#笔试题目##欢聚集团#
全部评论
你的dddd会变成2(dd)
点赞 回复
分享
发布于 2020-09-01 09:37

相关推荐

投递腾讯云智研发等公司8个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务