社区讨论
呜呜
P1555[USACO11NOV] 尴尬的数字 Awkward Digits B参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @loclr10k
- 此快照首次捕获于
- 2023/10/30 15:52 2 年前
- 此快照最后确认于
- 2023/11/05 03:01 2 年前
呜呜
CPP#include<bits/stdc++.h>
using namespace std;
int x;
string s2;
string s3;
string schange="123456789012345678901234567890";
int change2to10()
{
int sum;
int product=1;
for(int i=s2.size()-1;i>=0;i--)
{
sum+=product*(s2[i]-'0');
product*=2;
}
return sum;
}
int change10to3()
{
int cnt=0;
while(x)
{
schange[cnt++]=(char)(x%3+'0');
x/=3;
}
for(int i=0;i<cnt/2;i++)
{
swap(schange[i],schange[cnt-i-1]);
}
return cnt;
}
int main()
{
cin>>s2>>s3;
for(int i=0;i<s2.size();i++)
{
if(s2[i]=='1')
{
s2[i]='0';
}
else if(s2[i]=='0')
{
s2[i]='1';
}
if(s2[0]=='0')
{
if(s2[i]=='1')
{
s2[i]='0';
}
else
{
s2[i]='1';
}
continue;
}
else
{
x=change2to10();
int n=x;
int Cnt=change10to3();
if(Cnt!=s3.size())
{
if(s2[i]=='1')
{
s2[i]='0';
}
else
{
s2[i]='1';
}
continue;
}
else
{
int cnt=0;
for(int i=0;i<s3.size();i++)
{
if(s3[i]!=schange[i])
{//cout<<"asfnajnfty";
cnt++;
}
}
if(cnt==1)
{
cout<<n;
exit(0);
}
}
}
if(s2[i]=='1')
{
s2[i]='0';
}
else
{
s2[i]='1';
}
}
return 0;
}
哪里错了?
明明样例都是对的。
回复
共 1 条回复,欢迎继续交流。
正在加载回复...