君子不器 @ 2020-10-25 17:28:38
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int n, ans = 1;
char a[40010];
for (n = 0; n >= 0; ++n)
{
scanf_s("%c", &a[n]);
if (a[n] == '\n')break;
}
for (int i = n; i < n * n; ++i)
cin >> a[i];
cout << n << ' ';
if (a[0] != '0')
{
cout << 0 << ' ';
for (int i = 1; i < n * n; ++i)
{
if (a[i] == a[i - 1])++ans;
else cout << ans << ' ', ans = 1;
}
}
else
{
for (int i = 1; i < n * n; ++i)
{
if (a[i] == a[i - 1])++ans;
else cout << ans << ' ', ans = 1;
}
}
cout << ans << ' ';
return 0;
}
by CGDGAD @ 2020-10-25 17:41:53
@君子不器
本地过了
本地样例过没用。除非您有完整测试数据一个个对比过,没有“本地过了”这种说法。OJ上WA就是WA。
char a[40010];
请放到全局变量,放到函数里面会炸。
by CGDGAD @ 2020-10-25 17:48:51
话说您这个是什么写法啊(
scanf_s("%c", &a[n]);
by 君子不器 @ 2020-10-25 17:56:53
@NSObject 忘了改了,scanf_s在VS中使用的,防止数据过大会炸。主要我不知道哪里错了,下载的WA数据运行结果也是正确的。
by CGDGAD @ 2020-10-25 18:35:01
@君子不器 啊这(
我倒第一次听说scanf_s(
by 君子不器 @ 2020-10-25 21:16:21
@NSObject 所以大佬你现在知道了,能帮帮我运行一下找找哪里错了吗?只要把_s删除就能调试了