a53

pepeuri

a53
Nov 21st, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4. ifstream f("pepeuri.in");
  5. ofstream g("pepeuri.out");
  6. long long n , m , k , i , j , a[10] , p[10][10] , b[10][10] ,c[10][10] , sol , suma , cif[31],u ,t ,d ;
  7.  
  8. void ridiclapatrat()
  9. {
  10. for(i=0;i<=9;i++)
  11. for(j=0;j<=9;j++)
  12. {
  13. c[i][j]=0;
  14. for(k=0;k<=9;k++)c[i][j]=(c[i][j]+p[i][k]*p[k][j])%m;
  15. }
  16. for(i=0;i<=9;i++)
  17. for(j=0;j<=9;j++)p[i][j]=c[i][j];
  18. }
  19.  
  20. void inmultesc()
  21. {
  22. for(i=0;i<=9;i++)
  23. for(j=0;j<=9;j++)
  24. {
  25. c[i][j]=0;
  26. for(k=0;k<=9;k++)c[i][j]=(c[i][j]+p[i][k]*b[k][j])%m;
  27. }
  28. for(i=0;i<=9;i++)
  29. for(j=0;j<=9;j++)p[i][j]=c[i][j];
  30. }
  31.  
  32. int main()
  33. {
  34. f >> n;
  35. m=10111121 ;
  36. t=n-2;
  37. d=0 ;
  38. while( t!=0 )
  39. {
  40. d++;
  41. cif[d]=t%2;
  42. t=t/2;
  43. }
  44. a[0]=3;a[1]=2;a[2]=2;a[3]=2;a[4]=1;a[5]=1;a[6]=1;a[7]=2;a[8]=2;a[9]=1;
  45. for(i=0;i<=9;i++)p[i][i]=1;
  46. b[0][0]=1;
  47. b[0][1]=1;
  48. b[1][0]=1;
  49. for(i=0;i<=4;i++)b[i][4-i]=1;
  50. for(i=0;i<=9;i++)b[i][9-i]=1;
  51. b[7][9]=1;
  52. b[8][8]=1;
  53. b[9][7]=1;
  54.  
  55. for(u=d;u>=1;u--)
  56. {
  57. if(cif[u]==1){ridiclapatrat();inmultesc();}
  58. else {ridiclapatrat();}
  59. }
  60. sol=0;
  61. for(i=0;i<=9;i++)
  62. {
  63. suma=0;
  64. for(j=0;j<=9;j++)suma=(suma+p[i][j]*a[j])%m;
  65. sol=(sol+suma)%m;
  66. }
  67. g << sol ;
  68. return 0;
  69. }
Add Comment
Please, Sign In to add comment