记录编号 551167 评测结果 AAAAA
题目名称 林荫的恶意 最终得分 100
用户昵称 Gravatar瑆の時間~無盡輪迴·林蔭 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2020-04-22 00:33:49 内存使用 14.13 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. using namespace std;
  5. int vis[10001],pri[10001],V[100001],A[11];
  6. int n,cnt,jl,sd;
  7. struct PE
  8. {
  9. string p;
  10. };
  11. PE list[1001];
  12. string M;
  13. int Flag;
  14. void DFS(int I)
  15. {
  16. if(I==M.size()-1)
  17. {
  18. Flag=1;
  19. return ;
  20. }
  21. for(int i=0;i<=117;i++)
  22. {
  23. if(list[i].p.size()==1)
  24. {
  25. if(list[i].p[0]==M[I+1])
  26. {
  27. DFS(I+1);
  28. }
  29. }
  30. else
  31. {
  32. if(list[i].p[1]==M[I+2]&&list[i].p[0]==M[I+1])
  33. DFS(I+2);
  34. }
  35. }
  36. }
  37. void Euler()
  38. {
  39. vis[1]=1;
  40. for(int i=2;i<=10000;i++)
  41. {
  42. if(!vis[i])
  43. {
  44. pri[++cnt]=i;
  45. }
  46. for(int j=1;j<=cnt;j++)
  47. {
  48. if(pri[j]*i>10000)
  49. {
  50. break;
  51. }
  52. vis[pri[j]*i]=1;
  53. }
  54. }
  55. }
  56. int main()
  57. {
  58. freopen("LINYINSEVIL.in","r",stdin);
  59. freopen("LINYINSEVIL.out","w",stdout);
  60. cin>>sd;
  61. Euler();
  62. for(int i=1;i<=cnt;i++)
  63. {
  64. if(sd%pri[i]==0&&vis[sd/pri[i]]==0)
  65. {
  66. cout<<pri[i]<<sd/pri[i]<<endl;
  67. break;
  68. }
  69. }
  70. int v;
  71. cin>>v;
  72. n=6;
  73. while(v)
  74. {
  75. if(v&1)
  76. {
  77. A[n]=1;
  78. }
  79. n--;
  80. v>>=1;
  81. }
  82. int ans=0;
  83. ans+=A[1]*32;
  84. ans+=A[6]*16;
  85. ans+=A[4]*8;
  86. ans+=A[3]*4;
  87. ans+=A[5]*2;
  88. ans+=A[2]*1;
  89. cout<<ans<<endl;
  90. list[0].p = "H";
  91. list[1].p = "HE";
  92. list[2].p = "LI";
  93. list[3].p = "BE";
  94. list[4].p = "B";
  95. list[5].p = "C";
  96. list[6].p = "N";
  97. list[7].p = "O";
  98. list[8].p = "F";
  99. list[9].p = "NE";
  100. list[10].p = "NA";
  101. list[11].p = "MG";
  102. list[12].p = "AL";
  103. list[13].p = "SI";
  104. list[14].p = "P";
  105. list[15].p = "S";
  106. list[16].p = "CL";
  107. list[17].p = "AR";
  108. list[18].p = "K";
  109. list[19].p = "CA";
  110. list[20].p = "SC";
  111. list[21].p = "TI";
  112. list[22].p = "V";
  113. list[23].p = "CR";
  114. list[24].p = "MN";
  115. list[25].p = "FE";
  116. list[26].p = "CO";
  117. list[27].p = "NI";
  118. list[28].p = "CU";
  119. list[29].p = "ZN";
  120. list[30].p = "GA";
  121. list[31].p = "GE";
  122. list[32].p = "AS";
  123. list[33].p = "SE";
  124. list[34].p = "BR";
  125. list[35].p = "KR";
  126. list[36].p = "RB";
  127. list[37].p = "SR";
  128. list[38].p = "Y";
  129. list[39].p = "ZR";
  130. list[40].p = "NB";
  131. list[41].p = "MO";
  132. list[42].p = "TC";
  133. list[43].p = "RU";
  134. list[44].p = "RH";
  135. list[45].p = "PD";
  136. list[46].p = "AG";
  137. list[47].p = "CD";
  138. list[48].p = "IN";
  139. list[49].p = "SN";
  140. list[50].p = "SB";
  141. list[51].p = "TE";
  142. list[52].p = "I";
  143. list[53].p = "XE";
  144. list[54].p = "CS";
  145. list[55].p = "BA";
  146. list[56].p = "LA";
  147. list[57].p = "CE";
  148. list[58].p = "PR";
  149. list[59].p = "ND";
  150. list[60].p = "PM";
  151. list[61].p = "SM";
  152. list[62].p = "EU";
  153. list[63].p = "GD";
  154. list[64].p = "TB";
  155. list[65].p = "DY";
  156. list[66].p = "HO";
  157. list[67].p = "ER";
  158. list[68].p = "TM";
  159. list[69].p = "YB";
  160. list[70].p = "LU";
  161. list[71].p = "HF";
  162. list[72].p = "TA";
  163. list[73].p = "W";
  164. list[74].p = "RE";
  165. list[75].p = "OS";
  166. list[76].p = "IR";
  167. list[77].p = "PT";
  168. list[78].p = "AU";
  169. list[79].p = "HG";
  170. list[80].p = "TL";
  171. list[81].p = "PB";
  172. list[82].p = "BI";
  173. list[83].p = "PO";
  174. list[84].p = "AT";
  175. list[85].p = "RN";
  176. list[86].p = "FR";
  177. list[87].p = "RA";
  178. list[88].p = "AC";
  179. list[89].p = "TH";
  180. list[90].p = "PA";
  181. list[91].p = "U";
  182. list[92].p = "NP";
  183. list[93].p = "PU";
  184. list[94].p = "AM";
  185. list[95].p = "CM";
  186. list[96].p = "BK";
  187. list[97].p = "CF";
  188. list[98].p = "ES";
  189. list[99].p = "FM";
  190. list[100].p = "MD";
  191. list[101].p = "NO";
  192. list[102].p = "LR";
  193. list[103].p = "RF";
  194. list[104].p = "DB";
  195. list[105].p = "SG";
  196. list[106].p = "BH";
  197. list[107].p = "HS";
  198. list[108].p = "MT";
  199. list[109].p = "DS";
  200. list[110].p = "RG";
  201. list[111].p = "CN";
  202. list[112].p = "NH";
  203. list[113].p = "FL";
  204. list[114].p = "MC";
  205. list[115].p = "LV";
  206. list[116].p = "TS";
  207. list[117].p = "OG";
  208. cin>>M;
  209. DFS(-1);
  210. if(Flag==1)
  211. {
  212. cout<<"YES"<<endl;
  213. }
  214. else
  215. cout<<"NO"<<endl;
  216. return 0;
  217. }