Really Big Numbers CodeForces - 817C(思維)
阿新 • • 發佈:2018-12-10
Really Big Numbers CodeForces - 817C(思維)
題意:輸入n,s問s-n中有多少數減去自身所有位數值的和比s大。
思路:其實就是猜測,嗯然後猜測對了,一次跑完所有測試樣例嘻嘻嘻。 其實主要方法用對就不會超時。想想從s開始增大肯定到某個階段,肯定再怎麼減去所有位數的和值都不會比s小。所以找這個情況就好了。然後就可以發現,當s的長度*9+s。的值就是分界線。然後就出來了。
#include<cstdio> #include<iostream> using namespace std; typedef long long ll; int f(ll u) { int ans=0; while(u){ ans+=u%10; u/=10; } return ans; } int wei(ll u) { int ans=0; while(u){u/=10;ans++;} return ans; } int main() { ll n,s; scanf("%lld%lld",&n,&s); ll ans=0,i; int len=wei(s); for(i=s;i<=s+len*9;i++) { if(i>n) break; if(i-f(i)>=s) ans++; } if(i>n) printf("%lld\n",ans); else{printf("%lld\n",n-i+1+ans);} return 0; }
yong'dui