//ac
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//#include //基本輸入流
//#include //基本輸出流
//#include //基於字串的流
//#include //stl 通用模板類
//#include //複數處理
//#include //浮點環境
//#include //整數格式轉換
//#include //布林環境
//#include //整型環境
//#include //通用型別數學巨集
#define l(a,b,c) for(int a = b;a >= c;a --)
#define m(a,b,c) for(int a = b;a <= c;a ++)
#define n(a,b) memset(a,b,sizeof(a));
#define maxx(a,b) ((a)>(b)?a:b)
#define minn(a,b) ((a)<(b)?a:b)
const int max=1<<30;
const int min=-max;
using namespace std;
int n,k,sum,a[100],b[100];
bool ok=false;
void dfs(int m)
m(i,0,n-1)
if(b[i])
printf("\n");
}m(i,m,n-1)
}int main()
return 0;
}//貼上
#include
#include
#include
using namespace std;
int n,len,a[20],b[20],cnt;
int cmp(int a,int b)
void dfs(int x,int posa,int sum,int posb) //posb統計位數
{ int i;
if(sum>n) //此時停止,進行下次
return;
if(sum == n) //輸出
{ cnt++;
for(i = 0; i
poj1564解題報告
第一次寫部落格,而且是組長強制要求,趕出來的,可能有含糊的地方,但是我會以後再認真分享我的心得的 題意 就是給定乙個n,還有m個數,看看由m個數中任選相加為n的數以特定格式輸出 思路 dfs 但是具體有個東西要注意,那就是要從短到長,從大到小輸出,所以,先選大數再選小數,而給出的數是從大到小,所以也...
NYOJ 1058 深度搜尋
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 給定整數a1 a2 an,判斷是否可以從中選出若干數,使它們的和恰好為k。輸入 首先,n和k,n表示數的個數,k表示數的和。接著一行n個數。1 n 20,保證不超int範圍 輸出如果和恰好可以為k,輸出 yes 並按輸入順序依次...
dfs模板 去重poj1564
按照降序排序給一組數字,和乙個數t。算出所有t的和的方案 比如1 2 3 4,t為4,t可以是4,也可以是1 3 簡單的dfs題,但是不容易想到如何去重。膜拜大佬 這個模板挺好寫的,就是dfs,然後加起來等於t就輸出,但是不容易想到處理方式。include include include inclu...