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 = 0。CNT = 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 = 0。CNT = 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 }