Submission #9814110
Source Code Expand
#include<bits/stdc++.h> using namespace std; typedef unsigned long long int ull; typedef long long int ll; typedef pair<ll,ll> pll; typedef long double D; //typedef complex<D> P; #define F first #define S second const ll MOD=1000000007; //const ll MOD=998244353; template<typename T,typename U>istream & operator >> (istream &i,pair<T,U> &A){i>>A.F>>A.S; return i;} template<typename T>istream & operator >> (istream &i,vector<T> &A){for(auto &I:A){i>>I;} return i;} template<typename T,typename U>ostream & operator << (ostream &o,const pair<T,U> &A){o<<A.F<<" "<<A.S; return o;} template<typename T>ostream & operator << (ostream &o,const vector<T> &A){int i=A.size(); for(auto &I:A){o<<I<<(--i?" ":"");} return o;} ll mpow(ll a,ll x){ ll ret=1; while(x>0){ if(x&1){ret*=a;} x>>=1; if(x>0){a*=a;} } return ret; } ll atai(ll div,ll n){ div=abs(div); if(div>9){return 0;} if(n==0){return 9-div;} return 10-div; } ll dfs(ll num,ll K,ll n){ ll ret=0; num=abs(num); ll dif=mpow(10,K-n)-mpow(10,n); if(K==2*n){return num==0?10:0;} if(K<2*n){return num==0?1:0;} ll div=num/dif,rem=num%dif; if(atai(div,n)!=0){ret+=atai(div,n)*dfs(rem,K,n+1);} if(atai(div+1,n)!=0){ret+=atai(div+1,n)*dfs(rem-dif,K,n+1);} //cout<<num<<" "<<K<<" "<<n<<" "<<ret<<endl; return ret; } int main(){ cin.tie(0); ios::sync_with_stdio(false); ll D; cin>>D; ll ans=0; for(int i=1;i<18;i++){ans+=dfs(D,i,0);} cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Mirrored |
User | tubuann |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 1534 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 |