// 問題解決発生機能 // 商品のn種類、どのように多くの組合せレジメンの合計値に合わせたそれぞれ有するWI、 //は級数上の乗算(重要)を組成物の問題を変換する(ORZ) / / の#include <入出力ストリーム> // の#include <cstdioを> // の#include <CStringの> // 使用して名前空間STD; // INT N-、A〔105〕、B〔105〕、M、S [10010]、T [ 10010]; // メインINT() // { // ながら(〜scanfの( "%のD"、およびN-)、N-) // { // M = 0; // I <N-(I = 0 int型用; I ++) // { // scanfの( "%のDの%のD"、&A [I]、B&[I]); // M + =([I] * B [I])。 // } // もし(!M%3 = 0) // { // のprintf( "申し訳ありません\ n"); //は 続けます。 // } // のmemset(S、0、はsizeof(S))。 // のmemset(T、0、はsizeof(T))。 // M / = 3。 // のために(0 = I int型、iが= bが[0] && I [0] <= M * <; iは++) // { // S [iが* [0] = 1; // } // ため(INT i = 1; iがn <; iは++) // { // ため(INT J = 0であり、j <= Mであり、j ++) // 用(int型のk = 0; K <= bの[I] && K * [i]が+ J <= M; ++ K) // { // T [K * [I] + J] + = S [J] ; // T [K * [I] + j]の%= 10000。 // } // ため(INT J = 0であり、j <= Mであり、j ++) // { // S [J] = tの[J]。 // T [j] = 0; // } // } // もし(!S [M] = 0) // { // のprintf( "%d個の\ n"、S [M])。 // } // 他のprintf( "申し訳ありません\ nを"); // } // 0を返します。 // }