fork download
  1. #include<iostream>
  2. #include<deque>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7. deque<int>v,v1,v2;
  8. string a;
  9. int n=0;
  10. cin>>a>>a;
  11. while(a[n]!='\0')
  12. {
  13. v.push_back((int)a[n]-48);
  14. v1.push_back((int)a[n]-48);
  15. n++;
  16. }
  17. v1[n-1]--;
  18. for(int i=n-1;i>0;i--)
  19. {
  20. if(v1[i<0])
  21. {
  22. v1[i-1]--;
  23. v1[i]+=10;
  24. }
  25. }
  26. for(int i=0;i<2*n+1;i++)
  27. {
  28. v2.push_back(0);
  29. }
  30. for(int i=n-1;i>=0;i--)
  31. {
  32. for(int j=n-1;j>=0;j--)
  33. {
  34. v2[j+i+2]+=2*v1[j]*v[i];
  35. }
  36. for(int i=2*n;i>0;i--)
  37. {
  38. v2[i-1]+=v2[i]/10;
  39. v2[i]=v2[i]%10;
  40. }
  41. }
  42. n=2*n+1;
  43. for(;v2.front()==0;)
  44. {
  45. v2.pop_front();
  46. n--;
  47. }
  48. for(int i=0;i<n;i++)
  49. {
  50. cout<<v2[i];
  51. }
  52. cout<<endl;
  53.  
  54.  
  55.  
  56. return 0;
  57. }
Success #stdin #stdout 0s 4280KB
stdin
1
2
stdout
4