社区讨论
70分,但wa,洛谷的在线ide也过了
P1320压缩技术(续集版)参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo15qbp2
- 此快照首次捕获于
- 2023/10/22 15:38 2 年前
- 此快照最后确认于
- 2023/11/02 15:12 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
char c;
int tot, n, num, n_num, tot1;
bool first, firch, is_zero;
vector<int> ans;
int main()
{
while (cin.get(c))
{
if (!firch)
{
if (c == '0')
{
is_zero = true;
}
else
{
is_zero = false;
ans.push_back(0);
}
firch = true;
}
if (c == '0')
{
if (is_zero)
{
num++;
}
else
{
ans.push_back(num);
num = 1;
is_zero = true;
}
}
else if (c == '1')
{
if (!is_zero)
{
num++;
}
else
{
ans.push_back(num);
num = 1;
is_zero = false;
}
}
if (!first)
{
tot++;
if (c == '\n' || c == '\r')
{
n = tot - 1;
first = true;
n_num = 1;
continue;
}
}
if (first)
{
if (n_num == n - 1)
{
tot1++;
}
if (c == '\n' || c == '\r')
{
n_num++;
}
if (tot1 == n)
{
break;
}
}
}
ans.push_back(num);
cout << n << " ";
for (int i = 0; i < (int)ans.size(); i++)
{
cout << ans[i] << " ";
}
return 0;
}
测试点1一直wa,本地自测与洛谷在线ide测试与答案一样,想不明白,换行符也同时判断了\n与\r了(没改之前全wa)。翻了下之前的提问帖说不能用单个字符输入,是这么做不妥当吗
测试点1输入
CPP11111
00100
11111
00100
11111
测试点1输出
CPP5 0 5 2 1 2 5 2 1 2 5
回复
共 1 条回复,欢迎继续交流。
正在加载回复...