7 solutions
-
-1
#include<bits/stdc++.h> using namespace std; struct tab{ char o; int x; }; tab bfe[]= { {'1', 13},{'2', 12}, {'3', 46}, {'4', 31}, {'5', 43}, {'6', 18},{'7', 40}, {'8', 28}, {'9', 5}, {'A', 54}, {'B', 20},{'C', 15}, {'D', 8}, {'E', 39}, {'F', 57}, {'G', 45},{'H', 36}, {'J', 38}, {'K', 51}, {'L', 42}, {'M', 49},{'N', 52}, {'P', 53}, {'Q', 7}, {'R', 4}, {'S', 9},{'T', 50}, {'U', 10}, {'V', 44}, {'W', 34}, {'X', 6},{'Y', 25}, {'Z', 1}, {'a', 26}, {'b', 29}, {'c', 56},{'d', 3}, {'e', 24}, {'f', 0}, {'g', 47}, {'h', 27},{'i', 22}, {'j', 41}, {'k', 16}, {'m', 11}, {'n', 37},{'o', 2}, {'p', 35}, {'q', 21}, {'r', 17}, {'s', 33},{'t', 30}, {'u', 48}, {'v', 23}, {'w', 55}, {'x', 32},{'y', 14}, {'z', 19} }; long long a[114]; int b[]={1,0,0,6,1,8,3,4,2,1,3,6,6,9,6,3,2,0}; int c[31],add[31]; int main() { int ad=0; string bv; cin>>bv; for(int i=0,l=1;i<10;i++,l++){ for(int j=0;j<60;j++){ if(bv[i]==bfe[j].o){ a[l]=bfe[j].x; break; } } } a[1]*=38068692544; a[2]*=3364; a[3]*=11316496; a[4]*=128063081718016; a[5]*=656356768; a[6]*=7427658739644928; a[7]*=195112; a[8]*=2207984167552; a[9]*=58; for(int i=1;i<=10;i++) ad+=a[i]; int la=0; reverse(b,b+18); for(int i=0;i<31;i++){ int t=ad; while(t){ t/=10; la++; } } for(int i=la;i>0;i++){ int t=ad; while(t){ add[i]=t%10; t/=10; } } int t=0; int lc=la; for(int i=0;i<lc;i++){ c[i]=add[i]-b[i]+t; if(c[i]<0){ c[i]+=10; t=-1; } else t=0; } while(lc>0&&c[lc]==0) lc--; ad=0; for(int i=0;i<lc;i++){ int j=i+1; long long x=1; for(int i=0;i<lc;i++) x*=10; ad+=c[i]*x; } int nor=ad^177451812; cout<<nor; }
Information
- ID
- 839
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 1
- Tags
- # Submissions
- 175
- Accepted
- 92
- Uploaded By