前言
传送门 :
思路迭代加深的思路,就是找最小
我们可以使用深度限制搜索 , 只有在当前层都没有搜索倒答案的时候我们猜开放下一层
对于本题还加了两个优化
code// Problem: 加成序列
// Contest: AcWing
// URL: https://www.acwing.com/problem/content/172/
// Memory Limit: 64 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define IOS ios::sync_with_stdio(false);
#define CIT cin.tie(0);
#define COT cout.tie(0);
#define ll long long
#define x first
#define y second
#define pb push_back
#define endl '\n'
#define all(x) (x).begin(),x.end()
#define Fup(i,a,b) for(int i=a;i=b;i--)
typedef priority_queue Pri_m;
typedef pair pii;
typedef vector VI;
map mp;
const int N = 110;
int n,path[N];
bool dfs(int u,int k){
if(u == k) return path[u-1] == n ;
bool st[N] = {0};
//避免重复搜索重复的和
for(int i = u-1;i>=0;i -- )
for(int j=i;j>=0;j--){
int s = path[i]+ path[j];
if(s > n || s
关注
打赏