buzhidaoaaao 2025-04-21 13:45 采纳率: 33.3%
浏览 9

为什么运行结果是对的,但是洛谷平台只给了80分,求解答

img

img


这是我的代码

#include <stdio.h>
#include <string.h>
#define Max 1000000
char input[Max];
void printScores(int winLimit,char data[]) {
    int w = 0, l = 0,i;
    for ( i = 0; data[i] != 'E' && data[i] != '\0'; i++) {
        if (data[i] == 'W') w++;
        else if (data[i] == 'L') l++;

        if ((w >= winLimit || l >= winLimit) && (w - l >= 2 || l - w >= 2))         {
            printf("%d:%d\n", w, l);
            w=0;
            l=0;
        }
    }
    if (w > 0 || l > 0) 
    {
            printf("%d:%d\n", w, l);
    }
}

int main() {
    int len = 0;
    int ch;
    while ((ch = getchar()) != EOF&&ch!='E') {
        if (ch == 'W' || ch == 'L') 
        {
            input[len++] = ch;
        } 
    }
    input[len] = '\0';
    printScores(11, input);
    printf("\n");
    printScores(21, input);
    return 0;
}

展开全部

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-22 01:44
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    用户的问题是,自己的C语言代码运行结果正确,但是洛谷平台只给了80分,用户想知道原因。

    解答

    可能的原因是:

    1. 代码中可能存在一些小bug,例如空格、换行符、注释等,洛谷平台可能会对这些细节进行检查。
    2. 代码的输入输出格式可能不符合洛谷平台的要求,例如输入输出的格式、长度、 precision 等。
    3. 代码中可能存在一些优化空间,例如循环优化、内存优化等,洛谷平台可能会对这些优化空间进行评分。

    建议

    用户可以尝试以下几点:

    1. 重新检查代码,确保没有小bug。
    2. 重新检查代码的输入输出格式,确保符合洛谷平台的要求。
    3. 重新检查代码的优化空间,尝试优化代码。

    如果问题仍然存在,可以提供更多的代码信息和错误信息,以便更好地帮助用户解决问题。

    评论
编辑
预览

报告相同问题?

问题事件

  • 创建了问题 4月21日