fork(1) download
  1. #include <set>
  2. #include <bitset>
  3. #include <queue>
  4. #include <deque>
  5. #include <set>
  6. #include <bitset>
  7. #include <queue>
  8. #include <deque>
  9. #include <stack>
  10. #include <sstream>
  11. #include <iostream>
  12. #include <iomanip>
  13.  
  14. #include <cstdio>
  15. #include <cstdlib>
  16. #include <cmath>
  17. #include <ctime>
  18. #include <cstring>
  19. #include <string>
  20. #include <cassert>
  21.  
  22. #include <vector>
  23. #include <list>
  24. #include <map>
  25. #include <algorithm>
  26. #include <functional>
  27. #include <numeric>
  28. #include <utility>
  29.  
  30. using namespace std;
  31.  
  32. // -------------------- Khai bao cac container --------------------
  33. typedef vector <int> vi;
  34. typedef vector <vi> vvi;
  35. typedef pair <int, int> ii;
  36. typedef vector <ii> vii;
  37. typedef vector <string> vs;
  38.  
  39. typedef long long int64; //NOTES:int64
  40. typedef unsigned long long uint64; //NOTES:uint64
  41. typedef unsigned uint;
  42.  
  43. const double pi = acos(-1.0); //NOTES:pi
  44. const double eps = 1e-11; //NOTES:eps
  45. const int MAXI = 0x7fffffff;
  46. const int dx[] = {1, 0, -1, 0};
  47. const int dy[] = {0, 1, 0, -1};
  48. const char dz[] = "SENW";
  49.  
  50. // -------------------- Dinh nghia lai cac phep toan --------------------
  51. #define forn(i,a,b) for (int i=(a),_b=(b); i<_b; i++)
  52. #define rforn(i,b,a) for (int i=(b)-1,_a=(a); i>=_a; i--)
  53. #define Reset(a,b) memset((a),(b),sizeof(a))
  54.  
  55. #define endline putchar('\n')
  56. #define space putchar(' ')
  57. #define EXIT(x) {cout << x;return 0;}
  58.  
  59. #define fi first
  60. #define se second
  61. #define pb push_back
  62. #define all(x) (x).begin(),(x).end()
  63. #define mp(X,Y) make_pair(X,Y)
  64. #define foreach(i, c) for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
  65. #define present(c, x) ((c).find(x) != (c).end())
  66. #define sz(a) a.size()
  67.  
  68. #define two(x) (1 << (x))
  69. #define two64(x) (((int64)(1)) << (x))
  70. #define S(x) scanf("%d",&x);
  71. #define input freopen("input.txt","r",stdin);
  72. #define deb(i,a,n) for(i=0;i<n;i++){cout<<a[i]<<" ";}
  73. #define db(x,y) printf("%d %d\n",x,y);
  74. #define op(x) printf("%d\n",x);
  75.  
  76. char s[1001];
  77. //int max1[1001];
  78. //int points[1001];
  79.  
  80. int main()
  81. {
  82. //input;
  83. string out[1001];
  84. string outb,outa,max1,max2,out1,out2;
  85. int points[1001],i,j=0,k,length,templemgth=0,l;
  86. scanf("%s",&s);
  87. length=strlen(s);
  88. for(i=0;i<length;i++)
  89. {
  90. if(s[i]>64&&s[i]<91)
  91. {
  92. points[j]=i;
  93. ++j;
  94. templemgth=0;
  95. }
  96.  
  97. }
  98.  
  99. //cout<<"j="<<j<<endl;
  100.  
  101. //cout<<j<<endl;
  102. /*for(k=0;k<j;k++)
  103. {
  104. cout<<points[k]<<endl;
  105. }*/
  106. if(j==0)
  107. {
  108. //cout<<"y1"<<endl;
  109. for(i=0;i<length;i++)
  110. {
  111. if(s[i]!='0')
  112. {
  113. l=i;
  114. break;
  115. }
  116. }
  117. if(i==length)
  118. {
  119. cout<<'0';
  120. return 0;
  121. }
  122. else
  123. {
  124. for(i=l;i<length;i++)
  125. {
  126. cout<<s[i];
  127. }
  128. return 0;
  129. }
  130. }
  131.  
  132. if(j==1)
  133. {
  134. //cout<<"y2"<<endl;
  135. for(i=0;i<length;i++)
  136. {
  137. if(s[i]!='0')
  138. {
  139. l=i;
  140. break;
  141. }
  142. }
  143. for(i=l;i<length;i++)
  144. {
  145. if(s[i]>64&&s[i]<91)
  146. cout<<'9';
  147. else
  148. cout<<s[i];
  149. }
  150. return 0;
  151. }
  152.  
  153. if(j==2)
  154. {
  155. //cout<<"y3"<<endl;
  156. for(k=0;k<points[1];k++)
  157. {
  158. if(s[k]>47&&s[k]<58)
  159. out[1]=out[1]+s[k];
  160. else
  161. out[1]=out[1]+'9';
  162. }
  163. for(k=points[0]+1;k<length;k++)
  164. {
  165. if(s[k]>47&&s[k]<58)
  166. out[2]=out[2]+s[k];
  167. else
  168. out[2]=out[2]+'9';
  169. }
  170.  
  171. if(out[1]<out[2])
  172. {
  173. for(i=0;i<out2.length();i++)
  174. {
  175. if(out2[i]!='0')
  176. {
  177. l=i;
  178. break;
  179. }
  180. }
  181. for(i=l;i<out2.length();i++)
  182. {
  183.  
  184. cout<<out2[i];
  185. }
  186. return 0;
  187. }
  188. else
  189. {
  190. for(i=0;i<out1.length();i++)
  191. {
  192. if(out1[i]!='0')
  193. {
  194. l=i;
  195. break;
  196. }
  197. }
  198. for(i=l;i<out1.length();i++)
  199. {
  200.  
  201. cout<<out1[i];
  202. }
  203. return 0;
  204. }
  205.  
  206. }
  207.  
  208.  
  209. if(j>2)
  210. {
  211. for(i=0;i<j-2;i++)
  212. {
  213. //cout<<"i="<<i<<endl;
  214. for(k=points[i]+1;k<points[i+2];k++)
  215. {
  216. if(s[k]>47&&s[k]<58)
  217. out[i]=out[i]+s[k];
  218. else
  219. out[i]=out[i]+'9';
  220. }
  221. }
  222.  
  223.  
  224. if(points[j-1]<length)
  225. {
  226. for(i=points[j-1]+1;i<length;i++)
  227. outb=outb+s[i];
  228.  
  229. }
  230. if(points[0]>0)
  231. {
  232. for(k=0;k<points[1];k++)
  233. {
  234. if(s[k]>47&&s[k]<58)
  235. outa=outa+s[k];
  236. else
  237. outa=outa+'9';
  238. }
  239. }
  240.  
  241. sort(out,out+j-2);
  242. if(outa>outb)
  243. {
  244. if(outa>out[j-3])
  245. {
  246. for(i=0;i<outa.length();i++)
  247. {
  248. if(outa[i]!='0')
  249. {
  250. l=i;
  251. break;
  252. }
  253. }
  254. for(i=l;i<outa.length();i++)
  255. {
  256. if(outa[i]>64&&s[i]<91)
  257. cout<<'9';
  258. else
  259. cout<<outa[i];
  260. }
  261. return 0;
  262. }
  263. else
  264. {
  265. for(i=0;i<out[j-3].length();i++)
  266. {
  267. if(out[j-3][i]!='0')
  268. {
  269. l=i;
  270. break;
  271. }
  272. }
  273. for(i=l;i<out[j-3].length();i++)
  274. {
  275. if(out[j-3][i]>64&&out[j-3][i]<91)
  276. cout<<'9';
  277. else
  278. cout<<out[j-3][i];
  279. }
  280. return 0;
  281. }
  282. }
  283. else
  284. {
  285. if(outb<out[j-3])
  286. {
  287. for(i=0;i<out[j-3].length();i++)
  288. {
  289. if(out[j-3][i]!='0')
  290. {
  291. l=i;
  292. break;
  293. }
  294. }
  295. for(i=l;i<out[j-3].length();i++)
  296. {
  297. if(out[j-3][i]>64&&out[j-3][i]<91)
  298. cout<<'9';
  299. else
  300. cout<<out[j-3][i];
  301. }
  302. return 0;
  303. }
  304. else
  305. {
  306. for(i=0;i<outb.length();i++)
  307. {
  308. if(outb[i]!='0')
  309. {
  310. l=i;
  311. break;
  312. }
  313. }
  314. for(i=l;i<outb.length();i++)
  315. {
  316. if(outb[i]>64&&out[j-3][i]<91)
  317. cout<<'9';
  318. else
  319. cout<<outb[i];
  320. }
  321. return 0;
  322. }
  323. }
  324. return 0;
  325. }
  326. //cout<<out[0]<<endl;
  327. //cout<<out[1]<<endl;
  328.  
  329. //cout<<points[j-1];
  330.  
  331. }
  332.  
  333.  
  334.  
Success #stdin #stdout 0s 2876KB
stdin
C0D3C43F
stdout
3943