公式
A - ダンジョン探索 / Dungeon Exploration 解説
by
A - ダンジョン探索 / Dungeon Exploration 解説
by
MMNMM
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
この問題は、それぞれのモンスターを順に見て、「現在の高橋君の体力」を管理しながら if 文などを用いて体力に応じた処理を行うことで解くことができます。
実装例は以下のようになります。
#include <iostream>
int main() {
using namespace std;
int N, P;
cin >> N >> P;
int ans = 0;
for (int i = 0; i < N; ++i) {
int H;
cin >> H;
if (P >= H) { // 現在の高橋君の体力がモンスターの強さ以上なら
++ans; // モンスターを倒して
P -= H; // 体力が H 減る
} else { // そうでなければ
P += H; // 体力が H 増える
}
}
cout << ans << endl;
return 0;
}
N, P = map(int, input().split())
ans = 0
for H in map(int, input().split()):
if P >= H: # 現在の高橋君の体力がモンスターの強さ以上なら
ans += 1 # モンスターを倒して
P -= H # 体力が H 減る
else: # そうでなければ
P += H # 体力が H 増える
print(ans)
投稿日時:
最終更新:
