题解:P13729 【MGVOI R1-A】超级奇数(odd)
_fallen_leaves_ · · 题解
P13729 【MGVOI R1-A】超级奇数(odd)
题意
给你
思路
因为每一个数
所以本题考虑贪心,因为这个数的位数较少,所以我们可以从最高位到最低位依次遍历。找到第一位不是奇数的位,那么就要将这一位的数字增加,使其变为奇数,也就是将这一位加
让这个数与从那一位偶数开始后的
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t;
signed main()
{
cin>>t;
while(t--)
{
string s;
cin>>s;
int s1=0,s2=0;
for(int i=0;i<s.size();i++)
if((s[i]-'0')%2==1) continue;
else
{
s1+=(s[i]-'0')+1;
s2+=(s[i]-'0');
for(int j=i+1;j<s.size();j++)
{
s1=s1*10+1;
s2=s2*10+(s[j]-'0');
}
break;
}
cout<<s1-s2<<endl;
}
return 0;
}