BOJ 14728-稲妻爆破
タイムアウトメモリ制限正解の発行正解正解正解正解正解率2秒256 MB 23049876542.359%
俊碩は校長になって、仕事が多くなって、試験期間も仕事でよく勉強できなかったので、試験の前日に終わった.幸いなことに、親切な教授は試験前に以下のヒントを発表した.内容は以下の通り.の複数のユニットを融合させる問題は出ない. 1ユニットで問題を出します.しかし、そのユニットですべての内容を知ってこそ、解答できる問題です. この2つのヒントに伴い,各セルの配分が書かれている.あるユニットの質問に答えるために、そのユニットの予想学習時間がいくらであるか、あるいは学習時間がそのユニットより多ければ、正解することができる.そんな折、CHOS会長のことで苦労したジュンソクのために、残りの時間に勉強して最大点数を取る番組を作りました.
1行目は,今回の試験のユニット数N(1≦N≦100)と,試験まで学習できる総時間T(1≦T≦10000)との間の空白を与えた.
2行目からN行目では、各セルの予想学習時間K(1≦K≦1000)とそのセル問題の配分S(1≦S≦1000)との間にスペースが残る.
1行目はジュンソクが得られる最大点数を出力する.
これは普通のリュックサックの問題です.
時間をidxに、点数をvalueに置きます.
dp[T]を出力します.
質問する
俊碩は校長になって、仕事が多くなって、試験期間も仕事でよく勉強できなかったので、試験の前日に終わった.幸いなことに、親切な教授は試験前に以下のヒントを発表した.内容は以下の通り.
入力
1行目は,今回の試験のユニット数N(1≦N≦100)と,試験まで学習できる総時間T(1≦T≦10000)との間の空白を与えた.
2行目からN行目では、各セルの予想学習時間K(1≦K≦1000)とそのセル問題の配分S(1≦S≦1000)との間にスペースが残る.
しゅつりょく
1行目はジュンソクが得られる最大点数を出力する.
に近づく
これは普通のリュックサックの問題です.
時間をidxに、点数をvalueに置きます.
に答える
dp[T]を出力します.
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define FUP(i, a, b) for(int i = a; i <= b; i++)
#define FDOWN(i, a, b) for(int i = a; i >= b; i--)
#define MS(a, b) memset(a, b, sizeof(a))
#define ALL(v) v.begin(), v.end()
#define CIN(a) cin >> a;
#define CIN2(a, b) cin >> a >> b
#define CIN3(a, b, c) cin >> a >> b >> c
#define COUT(a) cout << a
#define COUT2(a, b) cout << a << ' ' << b
#define COUT3(a, b, c) cout << a << ' ' << b << ' ' << c
#define ENDL cout << '\n'
int dy[4] = { -1, 1, 0, 0 };
int dx[4] = { 0, 0, 1, -1 };
int N, T, K, S, dp[10001];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
CIN2(N, T);
FUP(i, 1, N)
{
CIN2(K, S);
FDOWN(j, T, K)
{
dp[j] = max(dp[j], dp[j - K] + S);
}
}
COUT(dp[T]);
return 0;
}
Reference
この問題について(BOJ 14728-稲妻爆破), 我々は、より多くの情報をここで見つけました https://velog.io/@gyuho/BOJ-14728-벼락치기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol