为啥没用记搜跑的飞快。。。
查看原帖
为啥没用记搜跑的飞快。。。
1345783
BK小鹿楼主2024/10/5 22:41

rt,按贪心的顺序搜,找到答案直接退出,为什么不会T。。。

#include <iostream>

using namespace std;

int ans = 114514;

void dfs(int want, int used, int al)
{
    if (al > want) return;
    if (used >= ans) return ;
    if (al == want) {cout << used << endl;exit(0);}

    dfs(want, used + 1, al + 5);
    dfs(want, used + 1, al + 3);
}

int main()
{
    int n;
    cin >> n;
    dfs(n, 0, 0);
    if (ans == 114514) ans = -1;
    cout << ans << endl;
    return 0;
}
2024/10/5 22:41
加载中...