E. Good Triples

发布时间 2023-12-08 16:08:24作者: 纯粹的

绝,太绝了

看我娓娓道来

1.如果\(a+b+c\)过程中有进位,那么位数和肯定不等(+1-10)

2.由此可知,只要相加过程中没有进位的abc就是合法的

3.n的每一位等于abc对应的每一位的和

4.最后一步就是排列组合的思维,我真的词穷了。。。

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    int t;
    cin>>t;
    int method[10]={0};
    for(int k=0;k<=9;k++)
        for(int i=0;i<=9;i++)
            for(int j=0;j<=9;j++)if(k-i-j>=0)method[k]++;
    while(t--)
    {
        ll n,sum=1;
        cin>>n;
        while(n)
        {
            int d=n%10;
            sum*=method[d];
            n/=10;
        }
        cout<<sum<<endl;
    }
    return 0;
}