20pts求调

P1042 [NOIP2003 普及组] 乒乓球

Besheep @ 2024-08-02 22:29:24

#include <bits/stdc++.h>
using namespace std;
char ss;
string s;

int main() {
    int hh = 0, ds = 0;
    int i = 1;
    while (cin >> ss && ss != 'E') {
        s[i] = ss;
        i++;
    }
    for (int j = 1; j <= i; j++) {
        if (s[j] == 'W')
            hh++;
        if (s[j] == 'L')
            ds++;
        if ((hh >= 11 || ds >= 11) && (hh - ds >= 2 || ds - hh >= 2)) {
            cout << hh << ":" << ds << endl;
            hh = 0;
            ds = 0;
        }
    }
    cout << hh << ":" << ds << endl << endl;
    hh = 0;
    ds = 0;
    for (int j = 1; j <= i; j++) {
        if (s[j] == 'W')
            hh++;
        if (s[j] == 'L')
            ds++;
        if ((hh >= 21 || ds >= 21) && (hh - ds >= 2 || ds - hh >= 2)) {
            cout << hh << ":" << ds << endl;
            hh = 0;
            ds = 0;
        }
    }
    cout << hh << ":" << ds << endl;
    return 0;
}

by Besheep @ 2024-08-03 12:30:41

求调


by 天有不测风云 @ 2024-08-03 14:06:47

下次建议说清楚怎么丢分的。

我折腾了一下,应该是s越界了,你可能要把 s[i] = ss;改成s += ss;以避免 RE。但是这样好像仍然会WA,我再看看。


by 天有不测风云 @ 2024-08-03 14:12:17

@Besheep 哦因为 s 数组是从 0 开始的,所以初始化的时候要用 string s = " ";

应该可以了,你交一下试试。


by xiedequan130412 @ 2024-08-03 16:39:46

点一点,有解题方法


by xiedequan130412 @ 2024-08-03 16:40:12

互关~~~


|