標題:
2024/08/18 課程重點(品叡)
[打印本頁]
作者:
呂晉豪
時間:
2024-8-17 17:02
標題:
2024/08/18 課程重點(品叡)
本帖最後由 呂晉豪 於 2024-8-18 09:30 編輯
[課堂重點]
複習上次上課內容
考108 208 309 410 509 606 710
地毯式複習502-
CSES - Book Shop
CSES - Array Description
CSES - Counting Towers
[作業檢討]
701-710
[今日作業]
再次練習501-510,上傳到KitaJudge並獲得AC
[下次考試]
101-710數題
作者:
陳品叡
時間:
2024-8-18 10:57
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, x;
cin >> n >> x;
vector <pair<int, int>> data(n);
vector <int> dp(x+1);
for(int i=0; i<n; i++)
cin >> data[i].first;
for(int i=0; i<n; i++)
cin >> data[i].second;
for(auto i : data)
{
for(int j=0; i.first+j<=x; j++)
dp[i.first+j] = dp[j]+i.second;
}
cout << dp[x];
return 0;
}
複製代碼
作者:
呂晉豪
時間:
2024-8-18 12:06
#include <bits/stdc++.h>
using namespace std;
string str1, str2;
vector <vector<int>> dp;
vector <vector<bool>> visited;
int re (int i, int j) {
if (i < 0 and j < 0) {
return 0;
} else if (i < 0) {
return j + 1;
} else if (j < 0) {
return i + 1;
} /*else if (visited[i][j] == 1) {
return dp[i][j];
} */
if (str1[i] == str2[j]) {
visited[i][j] = 1;
return re(i - 1, j - 1);
} else {
int a, b, c;
a = re(i, j - 1) + 1;
b = re(i - 1, j) + 1;
c = re(i - 1, j - 1) + 1;
visited[i][j] = 1;
return min(a, min(b, c));
}
}
int main()
{
cin >> str1 >> str2;
dp.resize(str1.length());
visited.resize(str1.length());
for (int i = 0; i < str1.length(); i++) {
dp[i].resize(str2.length());
visited[i].resize(str2.length());
}
cout << re(str1.length() - 1, str2.length() - 1);
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2