60分,求助,2,3,4,5测试点不通过

P1042 [NOIP2003 普及组] 乒乓球

```cpp #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<math.h> #include<malloc.h> int main() { char c; int r1_w = 0; int r1_l = 0; int r2_w = 0; int r2_l = 0; char* a = (char*)malloc(sizeof(char) * 62500); int num = 0; for (int i = 0; i < 62525; i++) { scanf("%c", &a[i]); if (a[i] == '\n') { i--; continue; } num++; if (a[i] == 'E')break; } for (int i = 0; i < num; i++) { if (a[i] == 'W') { //if (r1_w < 11||abs(r1_w-r1_l)<2) { r1_w++; //}不用判断 if(r1_w>=11&&abs(r1_w-r1_l)>=2) { printf("%d:%d\n", r1_w, r1_l); r1_w = 0; r1_l = 0;//加上这句 } } else if(a[i]=='L') { // if (r1_l < 11|| abs(r1_w - r1_l) < 2) { r1_l++; // } if(r1_l>=11 && abs(r1_w - r1_l) >= 2) { printf("%d:%d\n", r1_w, r1_l); r1_l = 0; r1_w = 0;//加上这句 } } else if(a[i]=='E') { printf("%d:%d\n", r1_w, r1_l); } // else { // } } printf("\n"); for (int i = 0; i < num; i++) { if (a[i] == 'W') { // if (r2_w < 21||abs(r2_w-r2_l)<2) { r2_w++; // } if (r2_w >= 21 && abs(r2_w - r2_l) >= 2) { printf("%d:%d\n", r2_w, r2_l); r2_w = 0; r2_l = 0;//同理 } } else if (a[i] == 'L') { //if (r1_l < 21 || abs(r2_w - r2_l) < 2) { r2_l++; //}不用判断 if (r2_l >= 21 && abs(r2_w - r2_l) >= 2) { printf("%d:%d\n", r2_w, r2_l); r2_l = 0; r2_w = 0;//同理 } } else if (a[i] == 'E') { printf("%d:%d\n", r2_w, r2_l); } //else { //} } return 0; } ```
by wzx20110103 @ 2024-02-23 10:18:11


|