AOJ : 0229 - Big Hit! (大当たり!)
問題概要
http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0229&lang=jp
日本語の問題文なので説明省略です.
アルゴリズム
プログラムにコメントつけてるので, そっち見てください.
プログラム
#include <iostream> using namespace std; int main(void){ int a,b,c,d,e,f; while(cin>>a>>b>>c>>d>>e>>f, (a || b || c || d || e || f)){ int sum = 100; //-3*a : ゲーム開始用のコイン //15*a : 777そろって手に入るコイン //a*5*13 : ボーナスゲーム中のブドウで, 2枚入れて15枚返ってくるやつ sum += -3 * a + 15 * a + a * 5 * 13; f -= a + 5 * a; //-3*b : ゲーム開始用のコイン //15*b : BARBARBARそろって手に入るコイン //b*3*13 : ボーナスゲーム中のブドウで, 2枚入れて15枚返ってくるやつ sum += -3 * b + 15 * b + b * 3 * 13; f -= b + 3 * b; //-3*c : ゲーム開始用のコイン //7*c : ブドウがそろって手に入るコイン sum += -3 * c + 7 * c; f -= c; //-d : ゲーム開始に3枚入れて, チェリーの場合2枚返ってくる sum -= d; f -= d; //e*3 : ゲーム開始時のコイン sum -= e * 3; f -= e * 2; //3*f : 残りゲーム回数で3枚ずつ投入してそろわなかった sum -= 3 * f; cout<<sum<<endl; } return 0; }