Submission #9816309
Source Code Expand
#include<bits/stdc++.h>
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int ui;
typedef pair<int,int> pii;
typedef pair<pii,int> ppii;
typedef pair<int,pii> pipi;
typedef pair<ll,ll> pll;
typedef pair<pll,ll> ppll;
typedef pair<ll,pll> plpl;
typedef tuple<ll,ll,ll> tl;
ll mod=1000000007;
ll mod2=998244353;
ll mod3=1000003;
ll mod4=998244853;
ll inf=9000000000000000000;
long double pi=3.14159265358979323846L;
double eps=1e-12;
#define rep(i,m,n) for(ll i=m;i<n;i++)
#define rrep(i,n,m) for(ll i=n;i>=m;i--)
#define srep(itr,st) for(auto itr=st.begin();itr!=st.end();itr++)
int dh[4]={1,-1,0,0};
int dw[4]={0,0,1,-1};
int ddh[8]={-1,-1,-1,0,0,1,1,1};
int ddw[8]={-1,0,1,-1,1,-1,0,1};
ll lmax(ll a,ll b){
if(a<b)return b;
else return a;
}
ll lmin(ll a,ll b){
if(a<b)return a;
else return b;
}
ll gcd(ll a,ll b){
if(a<b)swap(a,b);
if(b==0)return a;
if(a%b==0)return b;
return gcd(b,a%b);
}
ll Pow(ll n,ll k){
ll ret=1;
ll now=n;
while(k>0){
if(k&1)ret*=now;
now*=now;
k/=2;
}
return ret;
}
ll popcount(ll n){
ll ret=0;
while(n>0){
ret+=n%2;
n/=2;
}
return ret;
}
ll gya[1000010];
ll kai[1000010];
ll beki(ll n,ll k,ll md){
ll ret=1;
ll now=n;
while(k>0){
if(k%2==1){
ret*=now;
ret%=md;
}
now*=now;
now%=md;
k/=2;
}
return ret;
}
ll gyaku(ll n,ll md){
return beki(n,md-2,md);
}
ll bit[800010];
ll u;
void bitinit(ll n){
ll y=1;
rep(i,0,69){
if(y>=n){
u=y;
break;
}
y*=2;
}
fill(bit,bit+u+10,0);
}
void add(ll n,ll x){
ll i=n;
bit[i]+=x;
bit[i]%=mod;
while(i<u){
i+=i&(-i);
bit[i]+=x;
bit[i]%=mod;
}
}
ll sum(ll n){
ll i=n;
ll ret=0;
while(i>0){
ret+=bit[i];
i-=i&(-i);
ret%=mod;
}
return ret;
}
ll rev(ll n){
ll ret=0;
vector<ll> v;
while(n>0){
v.push_back(n%10);
n/=10;
}
reverse(v.begin(),v.end());
ll now=1;
rep(i,0,v.size()){
ret+=v[i]*now;
now*=10;
}
return ret;
}
ll dfs(ll d,ll now,ll ue,ll si,ll sum){
if(now<=0){
if(d==0)return sum;
else return 0;
}
ll ret=0;
rep(i,-9,10){
ll yy=d-now*i;
ll ne=max((ll)0,ue/10-si*10);
if(abs(yy)>ne*10)continue;
ll rr=10-abs(i);
if(si==1&&i>=0)rr=9-i;
ret+=dfs(d-now*i,ue/10-si*10,ue/10,si*10,sum*rr);
}
return ret;
}
int main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
ll d;cin>>d;
ll ans=0;
ll now=0;
rep(i,2,20){
now*=10;
now+=9;
ll ue=now+1;
ll si=1;
ll noww=d;
ll ttt=1;
if(i%2)ttt=10;
ans+=dfs(noww,now,ue,si,1)*ttt;
}
cout<<ans<<endl;
}
Submission Info
Submission Time |
|
Task |
F - Mirrored |
User |
ttttan |
Language |
C++14 (GCC 5.4.1) |
Score |
800 |
Code Size |
3131 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
800 / 800 |
Status |
|
|
Set Name |
Test Cases |
Sample |
a01, a02, a03 |
All |
a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60, b61, b62, b63 |
Case Name |
Status |
Exec Time |
Memory |
a01 |
AC |
1 ms |
256 KB |
a02 |
AC |
1 ms |
256 KB |
a03 |
AC |
1 ms |
256 KB |
b04 |
AC |
1 ms |
256 KB |
b05 |
AC |
1 ms |
256 KB |
b06 |
AC |
1 ms |
256 KB |
b07 |
AC |
1 ms |
256 KB |
b08 |
AC |
1 ms |
256 KB |
b09 |
AC |
1 ms |
256 KB |
b10 |
AC |
1 ms |
256 KB |
b11 |
AC |
1 ms |
256 KB |
b12 |
AC |
1 ms |
256 KB |
b13 |
AC |
1 ms |
256 KB |
b14 |
AC |
1 ms |
256 KB |
b15 |
AC |
1 ms |
256 KB |
b16 |
AC |
1 ms |
256 KB |
b17 |
AC |
1 ms |
256 KB |
b18 |
AC |
1 ms |
256 KB |
b19 |
AC |
1 ms |
256 KB |
b20 |
AC |
1 ms |
256 KB |
b21 |
AC |
1 ms |
256 KB |
b22 |
AC |
1 ms |
256 KB |
b23 |
AC |
1 ms |
256 KB |
b24 |
AC |
1 ms |
256 KB |
b25 |
AC |
1 ms |
256 KB |
b26 |
AC |
1 ms |
256 KB |
b27 |
AC |
1 ms |
256 KB |
b28 |
AC |
1 ms |
256 KB |
b29 |
AC |
1 ms |
256 KB |
b30 |
AC |
1 ms |
256 KB |
b31 |
AC |
1 ms |
256 KB |
b32 |
AC |
1 ms |
256 KB |
b33 |
AC |
1 ms |
256 KB |
b34 |
AC |
1 ms |
256 KB |
b35 |
AC |
1 ms |
256 KB |
b36 |
AC |
1 ms |
256 KB |
b37 |
AC |
1 ms |
256 KB |
b38 |
AC |
1 ms |
256 KB |
b39 |
AC |
1 ms |
256 KB |
b40 |
AC |
1 ms |
256 KB |
b41 |
AC |
1 ms |
256 KB |
b42 |
AC |
1 ms |
256 KB |
b43 |
AC |
1 ms |
256 KB |
b44 |
AC |
1 ms |
256 KB |
b45 |
AC |
1 ms |
256 KB |
b46 |
AC |
1 ms |
256 KB |
b47 |
AC |
1 ms |
256 KB |
b48 |
AC |
1 ms |
256 KB |
b49 |
AC |
1 ms |
256 KB |
b50 |
AC |
1 ms |
256 KB |
b51 |
AC |
1 ms |
256 KB |
b52 |
AC |
1 ms |
256 KB |
b53 |
AC |
1 ms |
256 KB |
b54 |
AC |
1 ms |
256 KB |
b55 |
AC |
1 ms |
256 KB |
b56 |
AC |
1 ms |
256 KB |
b57 |
AC |
1 ms |
256 KB |
b58 |
AC |
1 ms |
256 KB |
b59 |
AC |
1 ms |
256 KB |
b60 |
AC |
1 ms |
256 KB |
b61 |
AC |
1 ms |
256 KB |
b62 |
AC |
1 ms |
256 KB |
b63 |
AC |
1 ms |
256 KB |