difficultlong @ 2024-08-31 19:28:11
#include<bits/stdc++.h>
using namespace std;
char s1[201],ch;
int sum=1;
char s[40001];
int main(){
scanf("%s",s1+1);
int len=strlen(s1+1);
for(int i=1;i<=len;i++){
s[i]=s1[i];
}
int p=len;
for(int i=len;i<=len*len+6;i++){
scanf("%c",&ch);
if(ch=='\n'){
continue;
}
p++;
s[p]=ch;
}
printf("%d ",len);
for(int i=1;i<=len*len;i++){
if(s[i]==s[i+1]){
sum++;
}
else{
printf("%d ",sum);
sum=1;
}
}
return 0;
}
为什么是错的,求大佬指出。 我其实发过一次了,但是,我想要我错的理由,谢谢大家
by Ivan422 @ 2024-08-31 19:35:05
问题主要出在读入时的 +6
,换行个数不应当是 6
,而是 len-1
。
by difficultlong @ 2024-08-31 20:18:28
@Ivan422 谢谢,我已经关注了,主要是样例误导了我