【编码】-360实习笔试编程题(二)-2016.03.29

问题:

小B研究包含“.”和ASCII码的字符串。
目标是消除字符串中连续出现的“.”。
假定,一次可以用一个“.”置换连续的两个“.”。
问,对于任一字符串,在经过某些字符置换后,最少需要几次置换,来消除所有的连续“.”。

输入:第一行是两个整数n和m,n是字符串长度(1 # include

using namespace std;

int fun(char *s,int n){
    int len=0;
    int *t;
    t= (int *)malloc(n*sizeof(int));
    for(int i=0;i0)){
            t[i]=t[i-1]+1;

        }
    }
    for(int i=0;i0)&&(t[i+1]==0))
        len+=t[i];
    return len;
}

int main(){
    cout>n>>m){

        char * s;
        s=(char *)malloc(n*sizeof(char));
        cin>>s;
        //for(int i=0;i>s[i];

        for(int i=0;i>x>>c;
            s[x-1]=c;
            int f=fun(s,n);
            cout

c++# int, 字符, char


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部