社区讨论
关于刚才比赛的T1
灌水区参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo8n4w1w
- 此快照首次捕获于
- 2023/10/27 21:20 2 年前
- 此快照最后确认于
- 2023/10/27 21:20 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
long long t,m,ws1,tp=1,cnt;
string n;
long long js(long long ws,string x)
{
long long ans=1;
for(long long i=1;i<ws1;i++)
ans*=10;
if(x[ws1-1]=='0'&&cnt==ws1-1)
return ans+(x[0]-48)-1;
return ans+(x[0]-48);
}
string ws(string x)
{
string sum;
long long jw=0;
for(long long i=0;i<ws1;i++)
{
if(n[i]=='9')
{
if(jw==0)
sum='8'+sum;
else
sum='9'+sum;
jw=1;
}
else
{
if(jw==1)
{
sum=char((n[i]-48)+jw+48)+sum;
jw=0;
}
else
sum='0'+sum;
}
}
if(sum[0]=='0')
{
sum[0]=char(sum[0]+1);
return sum;
}
return sum;
}
int main()
{
cin>>t;
while(t--)
{
cin>>n;
ws1=n.size();
cnt=0;
for(long long i=1;i<ws1;i++)
if(n[i]=='0')
cnt++;
if(n[0]=='9')
{
bool bj=1,tp=1;
for(long long i=1;i<ws1;i++)
{
if(n[i]!='0')
bj=0;
if(n[i]!='9')
tp=0;
}
for(long long i=ws1-1;i>0;i--)
{
if(n[i]=='9')
n[i]='0';
else
break;
}
if(bj==1)
{
cout<<js(ws1,n)<<endl;
continue;
}
if(tp==1)
{
long long sum=1;
for(long long i=1;i<=ws1;i++)
sum*=10;
cout<<sum<<endl;
}
else
cout<<ws(n)<<endl;
}
else if(ws1==1)
cout<<n<<endl;
else
cout<<js(ws1,n)<<endl;
}
return 0;
}
自己的样例测了好几次都没问题,结果全WA了
回复
共 7 条回复,欢迎继续交流。
正在加载回复...