社区讨论
EOF是什么问题
CF1009BMinimum Ternary String参与者 3已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @lo38tu2o
- 此快照首次捕获于
- 2023/10/24 02:40 2 年前
- 此快照最后确认于
- 2023/10/24 02:40 2 年前
一开始是这份代码TLE了,可这份代码的复杂度不是O(n)吗,为什么会TLE
CPP#include <bits/stdc++.h>
using namespace std;
string ans;
bool f;
char a;
int sum;
int main()
{
while(cin>>a)
{
if(f)
{
if(a=='1')
{
ans='1'+ans;
}
else
{
ans=ans+a;
}
}
else
{
if(a=='2')
{
f=1;
ans='2';
while(sum--)
{
cout<<'1';
}
}
else if(a=='1')
{
sum++;
}
else
{
cout<<a;
}
}
}
cout<<ans;
}
后来改成了这份,原来TLE的点过了,却EOF了
CPP#include <bits/stdc++.h>
using namespace std;;
bool f;
char a,ans[100001];
int sum,cnt=1;
int main()
{
while(cin>>a)
{
if(f)
{
if(a=='1')
{
cout<<'1';
}
else
{
ans[cnt++]=a;
}
}
else
{
if(a=='2')
{
f=1;
ans[0]='2';
while(sum--)
{
cout<<'1';
}
}
else if(a=='1')
{
sum++;
}
else
{
cout<<a;
}
}
}
cout<<ans;
return 0;
}
1.为什么第一份代码会TLE
2.EOF是什么问题,应该怎么解决?
回复
共 9 条回复,欢迎继续交流。
正在加载回复...