AOJ 1192 Tax Rate Changed
問題
Tax Rate Changed | Aizu Online Judge
消費税がx%のとき合計金額がs円だった2つの品物を消費税y%のときに買ったときの値段の最大値を求めよ。
なお、消費税がx%のときの値段はp (100+x) / 100
を切り捨てた整数値である。
方針
合計がsになるペアを全探索する。s<1000なので十分間に合う
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, n) for(int i=0; i<(n); ++i) int main(void){ int x, y, s; while(cin >> x >> y >> s && x) { int ans = 0; for(int i=1; i<s; ++i) { for(int j=1; ; ++j) { int p = i*(100+x)/100 + j*(100+x)/100; if(p > s) break; if(p == s) { ans = max(ans, i*(100+y)/100 + j*(100+y)/100); } } } cout << ans << endl; } }
http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=1886751
反省
- さすがにもう少し探索範囲を絞れそうだが切り捨ての処理でいろいろバグったのであきらめた