求调
查看原帖
求调
1459071
Yxa_Sheep楼主2025/6/18 12:01

这个代码我用Dev-C++输出是对的,但是洛谷的那个IDE模式里一直输出2,然后交上去TLE+MLE。

#include <bits/stdc++.h>
using namespace std;
int n, a[20] = {1};
int dfs(int x)
{
    for (int i = 15; i >= 0; i--)
        if (a[i] <= x)
        {
            if (i == 1)
                printf("2");
            else if (i == 0)
                printf("2(0)");
            else
            {
                printf("2(");
                dfs(i);
                printf(")");
            }
            x -= a[i];
            if (x)
                printf("+");
        }
}
int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= 15; i++)
        a[i] = a[i - 1] * 2;
    dfs(n);
    return 0;
}
2025/6/18 12:01
加载中...