求助为什么会TLE了呀
查看原帖
求助为什么会TLE了呀
449009
hopeForTheBest楼主2023/8/15 21:50
#include <bits/stdc++.h>
using namespace std;
int t, n;
char str[200020];
void solve()
{
    int k = 0, flag = 0;
    for (int i = 1; i <= strlen(str + 1); i++)
    {
        if (str[i] >= '5')
        {
            flag = 1;
            k = i;
            break;
        }
    }
    if (!flag)
        printf("%s\n", str + 1);
    else
    {
        while (str[k] >= '4')
            k--;
        str[k] += 1;
        if (str[0] != '0')
            printf("%c", str[0]);
        for (int i = 1; i <= k; i++)
            printf("%c", str[i]);
        for (int i = k + 1; i <= strlen(str + 1); i++)
            printf("0");
        puts("");
    }
}
int main()
{
    scanf("%d", &t);
    while (t--)
    {
        scanf("%s", str + 1);
        str[0] = '0';
        solve();
    }
    return 0;
}
2023/8/15 21:50
加载中...