比赛 CSP2022普及组 评测结果 AAWAWWWWWWEEEEEEEEEE
题目名称 逻辑表达式 最终得分 15
用户昵称 此账号已注销 运行时间 1.885 s
代码语言 C++ 内存使用 3.12 MiB
提交时间 2022-10-29 15:45:17
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char a[100000];
  4. int b[100000],bi=0,b1[10000],b1i=1,b1Max=0,b2Max=0;
  5. int main(){
  6. freopen("csp2022pj_expr.in","r",stdin);
  7. freopen("csp2022pj_expr.out","w",stdout);
  8. cin>>a;
  9. for(int i=0; i<strlen(a); i++)
  10. {
  11. if( a[i] != '(' && a[i] != ')')
  12. {
  13. b[i] = a[i];
  14. bi++;
  15. if(b[i] == '&')
  16. {
  17. b1[b1i] = 1;
  18. b1i++;
  19. }
  20. }
  21. }
  22. if(bi == 3)
  23. {
  24. if(b[1] == '&')
  25. {
  26. if(b[0] == '0')
  27. {
  28. b1Max++;
  29. cout<<0<<endl<<b1Max<<" "<<b2Max;
  30. }
  31. else
  32. {
  33. if(b[2] == '1') cout<<1<<endl<<0<<" "<<0;
  34. else cout<<0<<endl<<0<<" "<<0;
  35. }
  36. }
  37. if(b[1] == '|')
  38. {
  39. if(b[0] == '1')
  40. {
  41. b2Max++;
  42. cout<<1<<endl<<b1Max<<" "<<b2Max;
  43. }
  44. else
  45. {
  46. if(b[2] == '1') cout<<1<<endl<<0<<" "<<0;
  47. else cout<<0<<endl<<0<<" "<<0;
  48. }
  49. }
  50. }
  51. else
  52. {
  53. if(b[1] == '|' && b[3] == '|')
  54. {
  55. if(b[4] == '1') cout<<1<<endl<<0<<" "<<1;
  56. else if(b[0] == '1') cout<<1<<endl<<0<<" "<<1;
  57. else if(b[2] == '1')cout<<1<<endl<<0<<" "<<0;
  58. else cout<<0<<endl<<0<<" "<<0;
  59. }
  60. if(b[1] == '|' && b[3] == '&')
  61. {
  62. if(b[0] == '1') cout<<1<<endl<<0<<" "<<1;
  63. else if(b[2] == '0') cout<<0<<endl<<1<<" "<<0;
  64. else if(b[4] == '1')cout<<1<<endl<<0<<" "<<0;
  65. else cout<<0<<endl<<0<<" "<<0;
  66. }
  67. if(b[1] == '&' && b[3] == '|')
  68. {
  69. if(b[4] == '1') cout<<1<<endl<<0<<" "<<1;
  70. else if(b[0] == '0') cout<<0<<endl<<1<<" "<<0;
  71. else if(b[2] == '1')cout<<1<<endl<<0<<" "<<0;
  72. else cout<<0<<endl<<0<<" "<<0;
  73. }
  74. if(b[1] == '&' && b[3] == '&')
  75. {
  76. if(b[4] == '0') cout<<0<<endl<<1<<" "<<0;
  77. else if(b[0] == '0') cout<<0<<endl<<1<<" "<<0;
  78. else if(b[2] == '1')cout<<1<<endl<<0<<" "<<0;
  79. else cout<<0<<endl<<0<<" "<<0;
  80. }
  81. }
  82. }