样例:
INPUT:
5
100
12
8
2021
10000
OUTPUT:
9
4
7
44
99
这道题由于偶数位和奇数位独立,所以这个数奇偶位分拆之后进行操作即可
假设奇数位组成的数是x,偶数位为y,则答案是(x+1)(y+1)-2;
对于x或者y是0的情况特判一下即可
#include<bits/stdc++.h>
using namespace std;
#define int long long
int T;
string n;
//=================================
signed main(){
cin >> T;
while(T--){
cin >> n;
int odd=0,even=0;
for(int i=0;i<n.size();i++){
if(i&1) odd=odd*10+n[i]-'0';
else even=even*10+n[i]-'0';
}
int res=0;
if(even==0){
res=odd-1;
}
else if(odd==0)
res=even-1;
else {
res=(even+1)*(odd+1);
res-=2;
}
cout << res << endl;
}
return 0;
}