さらに別のミーム問題

あなたは2つの整数AAを与えられますABBB、ペアの数を計算します(a、b)(a、b)B その結果1≤≤A、1≤B≤B1≤a≤A、1≤b≤B1AA 1bB、および方程式a⋅b+ a + b = conc(a、b)a⋅b+ a + b = conc(a、b)Ab+A+b=c o n c a b は真です。conc(a、b)conc(a、b)c o n c a b aaの連結ですabbb(たとえば、conc(12、23)= 1223 conc(12,23)= 1223c o n c 1 2 2 3 =1 2 2 3コーン(100、11)= 10011コンク(100,11)= 10,011c o n c 1 0 0 1 1 =1 0 0 1 1)。aとbには先行ゼロを含めないでください。

入力

最初の行にはt(1≤t≤100)t(1≤t≤100)が含まれていますt 1t1 0 0 —テストケースの数。

各テストケースには、2つの整数AAが含まれていますABBB1≤A、B≤1091≤A、B≤10^ 91A B1 09)。

出力

1つの整数を出力—ペアの数(a、b)(a、b)B その結果1≤≤A、1≤B≤B1≤a≤A、1≤b≤B1AA 1bB、および方程式a⋅b+ a + b = conc(a、b)a⋅b+ a + b = conc(a、b)Ab+A+b=c o n c a b は真です。

入力

3
1 11
4 2
191 31415926

出力

1
0
1337

注意

最初のテストケースには、適切なペアが1つだけあります。a= 1、b = 9(1 + 9 +1⋅9= 19)a = 1、b = 9(1 + 9 +1⋅9= 19)A=1 b=9 1+9+19=1 9

#include<bits/stdc++.h>
 
using namespace std;
typedef long long ll;
ll A,B;
ll b[15];
int main() {
    
    
    ll c = 1;
    for (int i = 1; i <= 10; i++) {
    
    
        c = c * 10;
        b[i] = c - 1;
    }
    int _;
    scanf("%d",&_);
    while (_--) {
    
    
        scanf("%lld%lld", &A, &B);
        int i = 1;
        while (b[i] <= B) {
    
    
            i++;
        }
        printf("%lld\n", A * (i - 1));
    }
    return 0;
}

おすすめ

転載: blog.csdn.net/weixin_43601103/article/details/112542832