【编码】-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
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!