7-35 湊零錢
輸入第一行給出兩個正整數:n(≤104)是硬幣的總個數,m(≤102)是韓梅梅要付的款額。第二行給出 n 枚硬幣的正整數面值。數字間以空格分隔。
在一行中輸出硬幣的面值 v1≤v2≤⋯≤vk,滿足條件 v1+v2+...+vk=m。數字間以 1 個空格分隔,行首尾不得有多餘空格。若解不唯一,則輸出最小序列。若無解,則輸出no solution
。
注:我們說序列比「小」,是指存在 k≥1 使得 a[i]=b[i] 對所有 i#include#includeusing namespace std;
bool flag=false;
vectorans;
vectornum;
int n,m;
void dp(int i,int sum)
} return;
}else if(sum#include #include using namespace std;
int m;
int n;
vectorcoin;
int dp[101];
int path[10001][101];
int cmp(int a,int b) return a > b;
int main()
// 將硬幣從小到大排序
sort(coin.begin(), coin.end(),cmp);
// 動態規劃,用path將路徑記錄下來
for (int i = 0; i < n; i++)
} }// 從[n-1][m]開始倒著輸出
if (dp[m] != m)cout << "no solution" << endl;
else
i--;
} }return 0;
}
2020HBU天梯賽訓練 7 14 福到了
福 字倒著貼,寓意 福到 不論到底算不算民俗,本題且請你編寫程式,把各種漢字倒過來輸出。這裡要處理的每個漢字是由乙個 n n 的網格組成的,網格中的元素或者為字元 或者為空格。而倒過來的漢字所用的字元由裁判指定。輸入在第一行中給出倒過來的漢字所用的字元 以及網格的規模 n 不超過100的正整數 其間...
2020HBU天梯賽訓練 7 15 誰是贏家
7 15 誰是贏家 某電視台的娛樂節目有個表演評審環節,每次安排兩位藝人表演,他們的勝負由觀眾投票和 3 名評委投票兩部分共同決定。規則為 如果一位藝人的觀眾票數高,且得到至少 1 名評委的認可,該藝人就勝出 或藝人的觀眾票數低,但得到全部評委的認可,也可以勝出。節目保證投票的觀眾人數為奇數,所以不...
2020HBU天梯賽訓練 7 16 猜數字
7 16 猜數字 一群人坐在一起,每人猜乙個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。輸入在第一行給出乙個正整數n 10 4 隨後 n 行,每行給出乙個玩家的名字 由不超過8個英文本母組成的字串 和其猜的正整數 100 在一行中順序輸出 大家平均數的一半 只...