Codeforces Round #742 (Div. 2)–C. Carrying Conundrum
思路
- 将n每隔一位拆成两个数,例如n=12345的时候,拆成两个数a和b,a=135,b=24,问题转化为求和等于135乘以和等于24的值,举个例子45+90=135,9+15=24,再每隔一位合在一起变为495+1905=12345
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
int t;cin>>t;
while(t--){
string n;cin>>n;
int a=0,b=0;
for(int i=0;i<n.size();i++){
if(i&1)a=a*10+(n[i]-'0');
else b=b*10+(n[i]-'0');
}
cout<<(a+1)*(b+1)-2<<endl;
}
}