50分求助,#4#5#6 too short on line 1
查看原帖
50分求助,#4#5#6 too short on line 1
319478
zhibuba楼主2020/7/29 00:52
#include <cstdio>
#include <cctype>

using namespace std;

int data[13][2], times[13];
int cur_score[11], total_score[11];

int main()
{
    int c, i = 1, j = 0;
    while ((c = getchar()) != EOF)
    {
        if (c == '/')
        {
            if (j == 0)
                data[i][0] = 10, times[i] = 1, i++;
            else
                data[i][1] = 10 - data[i][0], times[i] = 2, i++, j = 0;
        }
        else if (isdigit(c))
        {
            data[i][j] = c -'0';
            if (j == 0)
                j++;
            else
                times[i] = 2, i++, j = 0;
        }
    } 
    for (int k = 1; k < i && k <= 10; k++)
    {
        cur_score[k] = data[k][0] + data[k][1];
        if (data[k][0] == 10)
        {
            if (k + 1 == i)
            {
                i = k;
                break;
            }
            else if (times[k + 1] == 2)
                cur_score[k] += data[k + 1][0] + data[k + 1][1];
            else if (k + 2 == i)
            {
                i = k;
                break;
            }
            else
                cur_score[k] += data[k + 1][0] + data[k + 2][0];
        }
        else if (cur_score[k] == 10)
        {
            if (k + 1 == i)
            {
                i = k;
                break;
            }
            else
                cur_score[k] += data[k + 1][0];
        }
        total_score[k] = total_score[k - 1] + cur_score[k];
    }
    for (int k = 1; k < i && k <= 10; k++)
        printf("%d ", cur_score[k]);
    putchar('\n');
    for (int k = 1; k < i && k <= 10 ; k++)
        printf("%d ", total_score[k]);
    return 0;
}
2020/7/29 00:52
加载中...