[CF]

  1の#include <iostreamの>
   2の#include <cstdioを>
   3の#include <CStringの>
   4の#include <cmath>
   5の#include <アルゴリズム>
   6の#include < 設定 >
   7の#include <地図>
   8の#include <キュー>
   9#含む<ベクトル>
 10の#include <CCTYPE>
 11の#include <sstream提供>
 12  使用 名前空間STD。
13のtypedef 長い LL。
14  CONST  INT INF = 0x7FFFFFFFで  INT N = 100000 + 100 16  のconst  int型 M = 50000 + 10 17  CONSTの LLのMOD = 998244353 18  LLのK。
19  LL N。
20  ストリングS [N]。
21 LL ANS = 0 22  LL kuaisu(LL X)
 23  {
 24      LL ANS = 1、A = 10 25      一方、(X)
 26      {
 27          場合(Xの%2 == 1)ANS =((ANS%のMOD)*(%のMOD))%MOD。
28          X / = 2 29          =((%のMOD)*(%のMOD))%MOD。
30      }
 31の     リターンANS。
32  }
 33  LLチェン(-1,11,11- b)は
 34  {
 35      リターン((%のMOD)*(Bの%のMOD))%MOD。
36  }
 37  のint main()の
 38  {
 39      のscanf(" %のLLD "、&K)。
40      のために(LL i = 1 ; iは= Kを<I ++は41         CIN >> S [i]は、
42      のためには、(LL i = 1 ; iは= Kを<; iは++ 43      {
 44          LL KK = 0、CNT = 0 45          のためにINT - J = S [I] .size()1 ; J> = 0 ; j-- 46          {
 47              KK + =チェン(kuaisu(CNT)、S [i]は[J] - ' 0 ' ) ;
48              KK + =チェン(kuaisu(CNT + 1)、S [i]は[J] - ' 0 ' )。
49              CNT + = 2 ;
50          }
 51の          ANS + = KK%MOD。
52          ANS%= MOD。
53          // coutの<< ANS <<てendl; 
54          のための(LL用J = I + 1 <; J = K J ++ 55          {
 56              であれば(= S [I] .size()> S [J] .size())
 57              {
 58                  KK = 0CNT = 0 ;
59                  のためにINT KKK = sの[J] .size() - 1 ; KKK> = 0 ; kkk-- 60                  {
 61                 KK + =チェン(kuaisu(CNT)、S [J] [KKK] - ' 0 ' )。
62                  KK + =チェン(kuaisu(CNT + 1)、S [J] [KKK] - ' 0 ' )。
63                  CNT + = 2 ;
64                  }
 65                  歳+ = KK%MOD。
66                  年%= MOD;
67                  // coutの<<てendl <<年。
68                  のLLのCC =のS [J] .size()。
69                  KK = 0CNT = 0 ;
70                  のためにINT KKK = S [I] .size() - 1 ; KKK> = sの[I] .size() - CC; kkk-- 71                  {
 72                      KK + =チェン(kuaisu(CNT)、S [i]は[KKK ] - ' 0 ' )。
73                      KK + =チェン(kuaisu(CNT + 1)、S [i]は[KKK] - ' 0 ' )。
74                      CNT + = 2 ;
75                      // coutの<<株式会社<<てendl; 
76                  }
 77                  // COUT << KK << ENDL。
78                  のためにINT KKK = sの[I] .size() - CC- 1 ; KKK> = 0; kkk-- 79                  {
 80                      KK + =チェン(kuaisu(CNT)(S [I] [KKK] - ' 0 ')* 2 )。
81                      CNT ++ ;
82                  }
 83                  歳+ = KK%MOD。
84                  年%= MOD;
85              }
 86              そう なら(S [i]の.size()< S [J] .size())
 87              {
 88                  KK = 0、CNT = 0 89                  のためにINT KKK = sの[I] .size() - 1 ; KKK> = 0 ; kkk-- 90                  {
 91                  KK + =チェン(kuaisu(CNT)、S [i]は[KKK] - ' 0 ' )。
92                  KK + =チェン(kuaisu(CNT + 1)、S [i]は[KKK] - ' 0 ' )。
93                  CNT + = 2 ;
94                  }
 95                  ANS = KK +%MOD。
96                  ANS%= MOD。
97                  INTのCC =のS [I] .size()。
98                 KK = 0 ; CNT = 0 ;
99                  のためにINT - KKK = sの[J] .size()1 ; KKK> = S [J] .size() - CC; kkk-- 100                  {
 101                      KK + =チェン(kuaisu(CNT)、S [J ] [KKK] - ' 0 ' )。
102                      KK + =チェン(kuaisu(CNT + 1)、S [J] [KKK] - ' 0 ' )。
103                      CNT + = 2 ;
104                  }
 105                  INT KKK = sの[J] .size() - CC- 1; KKK> = 0 ; kkk-- 106                  {
 107                      KK + =チェン(kuaisu(CNT)(S [J] [KKK] - ' 0 ')* 2 )。
108                      CNT ++ ;
109                  }
 110                  年+ = KK%MOD。
111                  年%= MOD;
112              }
 113          }
 114      }
 115  
116  
117  
118      のprintf(" %LLDする\ n " 、年)。
119  
120 
121      戻り 0 ;
122 }
コードの表示

 

おすすめ

転載: www.cnblogs.com/Kaike/p/11204617.html