團體程式設計天梯賽-練習集
l3-001. 湊零錢
dfs列舉各種情況,在記錄情況。或者dp。
dfs加上剪枝就好了。
dp時如果對面值dp會時前驅為最大值,不合要求,可以對他是否聯通進行dp。
dp雖然過了,但並不正確,有些情況輸出的並不是最小序列。
#include
#include
#include
using
namespace
std;
int n, m;
int coin[10024];
int use[10024];//用於記錄使用了哪些錢幣。
int maxn;//記錄有錢幣總值
int cmp(const
void *a, const
void *b)
bool dfs(int s, int p, int cnt, int last)
if (p > m)
//剩餘錢幣面值不足
if (last + p < m)
for (int i = s; i < n; i++)
}return
false;
}int main()
maxn = 0;
memset(use, 0, sizeof(use));
for (int i = 0; i < n; i++)
qsort(coin, n, sizeof(coin[0]), cmp);
if (dfs(0, 0, 0, maxn))
}else
}return
0;}
#include
#include
#include
#include
using
namespace
std;
const
int inf = -0x3fffffff;
stack
s;int n, m;
int dp[105], pre[10005], a[10005];
//pre用於記錄前驅
//dp用於記錄是否有數字組合能時數從零加到m。
void dp() }}
}int main()
sort(a, a + n);
dp[0] = 0;
dp();
if (dp[m] > 0)
printf("%d", k);
while (!s.empty())
printf("\n");
}else
printf("no solution\n");
}return
0;}
團體程式設計天梯賽 練習集 L1 011 A B
時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 本題要求你計算a b。不過麻煩的是,a和b都是字串 即從字串a中把字串b所包含的字元全刪掉,剩下的字元組成的就是字串a b。輸入格式 輸入在2行中先後給出字串a和b。兩字串的長度都不...
L1 011 A B(團體程式設計天梯賽 練習集)
本題要求你計算a b。不過麻煩的是,a和b都是字串 即從字串a中把字串b所包含的字元全刪掉,剩下的字元組成的就是字串a b。輸入格式 輸入在2行中先後給出字串a和b。兩字串的長度都不超過10 4,並且保證每個字串都是由可見的ascii碼和空白字元組成,最後以換行符結束。輸出格式 在一行中列印出a b...
團體程式設計天梯賽 練習集 L1 047 裝睡
你永遠叫不醒乙個裝睡的人 但是通過分析乙個人的呼吸頻率和脈搏,你可以發現誰在裝睡!醫生告訴我們,正常人睡眠時的呼吸頻率是每分鐘15 20次,脈搏是每分鐘50 70次。下面給定一系列人的呼吸頻率與脈搏,請你找出他們中間有可能在裝睡的人,即至少一項指標不在正常範圍內的人。輸入格式 輸入在第一行給出乙個正...