比赛 20121030 评测结果 AAAAAAAAAA
题目名称 外星密码 最终得分 100
用户昵称 苏轼 运行时间 0.004 s
代码语言 C++ 内存使用 2.86 MiB
提交时间 2012-10-30 21:57:12
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstdlib>
  4. #include<cstring>
  5. #include<algorithm>
  6. using namespace std;
  7. struct hehe
  8. {
  9. int num;
  10. string ss;
  11. }q[20];
  12. string s,tmp;
  13. int n=0;
  14. int main()
  15. {
  16. freopen ("passworda.in","r",stdin);
  17. freopen ("passworda.out","w",stdout);
  18. cin>>s;
  19. s='['+s+']';
  20. for (int i=0;i<s.size();i++)
  21. {
  22. if (s[i]=='[')
  23. {
  24. n++;
  25. q[n].num=0;
  26. q[n].ss.clear();
  27. continue;
  28. }
  29. if (s[i]>='0'&&s[i]<='9')
  30. {
  31. q[n].num+=s[i]-'0';
  32. if (s[i+1]>='0'&&s[i+1]<='9')
  33. {
  34. q[n].num*=10;
  35. q[n].num+=s[i+1]-'0';
  36. i++;
  37. }
  38. continue;
  39. }
  40. if (s[i]>='A'&&s[i]<='Z')
  41. {
  42. while (s[i]>='A'&&s[i]<='Z')
  43. {
  44. q[n].ss+=s[i];
  45. i++;
  46. }
  47. i--;
  48. continue;
  49. }
  50. if (s[i]==']')
  51. {
  52. tmp=q[n].ss;
  53. for (int j=0;j<q[n].num-1;j++)
  54. {
  55. q[n].ss+=tmp;
  56. }
  57. n--;
  58. q[n].ss+=q[n+1].ss;
  59. }
  60. }
  61. cout<<q[0].ss;
  62. return 0;
  63. }