ローディングの問題解決// の#include <stdio.hに> の#define MAXN 20 INT N-、Wは、 INT maxW; INT X [MAXN]; int型minm = 32767; ボイドDISP(N-INT){ int型I; のprintfは(「選択コンテナ:\ N- "); のため(I = 1、Iは<= N-; I ++)。 IF(X [I] == 1) のprintf("選択%Dコンテナ\ N- "I); のprintf("トータル重量%D = \ N-」、maxW); } ボイド読み込み(W INT []、INT TW、整数mを、OPはint []、IをINT){// i番目と認め容器 J INT; IF(I> N- ){ IF(TW <= Wである&&(TW> maxW ||(TW == maxW && M <minm))){ maxW = TW; minm = M; 。(J = 1、J <= N; J ++) X [J] = OP [J]; } } 他{ OP [I] = 1。 IF(TW + W [i]は<= W) ローディング(W、TW + W [i]は、M + 1、OP、I + 1)。 OP [I] = 0; もし(M <= 2) 読み込み(W、TW、M、OP、私は1 +)。 } } int型のmain(){ int値W [] = {0,5,2,6,4,3}。 int型のオペアンプ[MAXN]。//存放临时解 N = 5、W = 10。 ローディング(wは、0,0、OP、1)。 DISP(N) }