CF1288B-Yet Another Meme Problem
Posted yanying7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF1288B-Yet Another Meme Problem相关的知识,希望对你有一定的参考价值。
题目:https://vjudge.net/problem/CodeForces-1288B
题意:给出A、B,求出a、b的对数满足1<=a<=A、1<=b<=B且 a * b + a + b = conc(a,b),其中conc(a,b)等于a和b的数字合并得到的数,例如a=12,b=10,则conc(a,b)=1210。
分析:数学题。从题意可以得到conc(a,b)=a*1eN+b,其中1eN为10的N次方。即a * b + a + b=a*1eN + b,整理得到 b+1=1eN。也就是说b一定为10的某个次方减去1,而a随意。故我们只需知道小于等于B的数中有多少个能由9组成,再乘以A便是答案。
1 #include <stdio.h> 2 int check(long long t){ 3 int x; 4 while(t>0){ 5 x=t%10; 6 t/=10; 7 if(x!=9)return 0; 8 } 9 return 1; 10 } 11 int main(void){ 12 int t; 13 scanf("%d",&t); 14 while(t--){ 15 long long a,b; 16 scanf("%lld %lld",&a,&b); 17 int n=0; 18 long long k=b; 19 while(k>0){ 20 k/=10; 21 n++; 22 } 23 if(check(b))printf("%lld ",a*n); 24 else printf("%lld ",a*(n-1)); 25 } 26 return 0; 27 }
以上是关于CF1288B-Yet Another Meme Problem的主要内容,如果未能解决你的问题,请参考以下文章
Educational Codeforces Round 80 (Rated for Div. 2)(BYet Another Meme Problem)
题解 Educational Codeforces Round 80 [Rated for Div. 2](CF1288)
CF-1359 D. Yet Another Yet Another Task ST表+单调队列