lizipeng @ 2021-05-22 11:57:04
大佬求看一下代码,样例过了,却是WA
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
short int a[45005];
int num=0,sum=0;
char x[205][205];
gets(x[1]);//输入我用的是gets
int n=strlen(x[1]);//读入n的值
for (int i=2;i<=n;i++)
gets(x[i]);
cout<<n<<" ";
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
{
num++;
a[num]=x[i][j-1]-48;//将矩阵变为一列
}
a[0]=0,a[num+1]=-100;//预处理一下
//for (int i=0;i<=num;i++) cout<<a[i];cout<<endl;
for (int i=1;i<=num+1;i++)
{
if (a[i]==a[i-1]) sum++;
else
{
cout<<sum<<" ";
sum=1;
}
}
}
by 品小呈 @ 2021-05-22 12:23:16
@lizipeng
用 gets()
可能会遇到换行符一类奇怪的问题。
用洛谷IDE测试,输入题目样例,您的程序输出了 8 3 1 3 1 3 1 3 1 3 4 1 3 1 3 1 3 1 3 1 3 1 3 1 7 9