nrZZZ777 @ 2024-10-10 16:17:38
# 读取第一行字符串并去除两端空白
line = input().strip()
n = len(line)
text = line
# 继续读取剩余的n-1行字符串并连接,同时去除两端空白
for i in range(1, n):
text += input().strip()
# 初始化变量
number = text[0]
lt_print = [n]
count = 1
# 统计连续相同字符的数量
for i in range(1, len(text)):
if text[i] == number:
count += 1
else:
number = text[i]
lt_print.append(count)
count = 1
lt_print.append(count)
# 输出结果
print(' '.join(map(str, lt_print)))
by HerobrinePerssonZ @ 2024-10-13 10:49:07
@nrZZZ777
#include <bits/stdc++.h>//luogu福利
using namespace std;
char a,b='0';//注意了:一定是赋值为'0';
int n,ans[1000001],zz=1;//zz是指针的意思,我用来存储第几位
int main()
{
while(cin>>a)
{
n++;
if(a==b)
ans[zz]++;
else
ans[++zz]++,//等效于:zz=zz+1;ans[zz]++
b=a;//上面用 , 不用 ; 的原因是我没有打{ }
}
cout<<sqrt(n);//平方根,用到了<cmath>或者是<math.h>,也就是一行的行数
for(int i=1 ; i<=zz ; i++)
cout<<" "<<ans[i];
}
关注:加团
by rq_hyj @ 2024-12-08 17:07:04
bro,我跟你错得一模一样,他样例默认从零开始如:
11111
00100
11111
00100
11111
ans:5 0 5 2 1 2 5 2 1 2 5
//我只会C++所以没办法帮你调代码,见谅