PCK(パソコン甲子園) 2010 予選 (一部
なんかJOI前に簡単な問題解いて調子をあげるため、やるだけ問題をやっていた。
一問目 1. 水道料金を節約しよう(4点)
- やるだけです。はい。
#include <iostream> using namespace std; int main(){ int sa = 4280; while(1){ int w; cin >> w; if(w == -1){ break; } int m=1150; if(w > 10){ m += 125*(min(w-10,10)); if(w > 20){ m += 140*(min(w-20,10)); if(w > 30){ m += 160*(w-30); } } } cout << sa -m << endl; } }
第二問 2. 病院でウォーキング(4点)
#include <iostream> using namespace std; int main(){ while(1){ int n; cin >> n; if(n == 0){ break; }else{ int ansa=0; int ansb=0; for(int i = 0;i < n;i++){ int aa,bb,cc; cin >> aa >> bb >>cc; if(ansb < bb+cc){ ansa = aa; ansb = bb + cc; } } cout << ansa << " " << ansb << endl; } } }
第三問 3. 塾のクラス分け(4点)
#include <iostream> using namespace std; int main(){ while(1){ int n; cin >> n; if(n == 0){ break; }else{ for(int i = 0;i < n;i++){ int a,b,c; cin >> a >> b >> c; if(a == 100 || b == 100 || c == 100){ cout << "A" << endl; }else if(a + b >= 180){ cout << "A" << endl; }else if(a+b+c >= 240){ cout << "A" << endl; }else if(a+b+c >= 210){ cout << "B" << endl; }else if(a+b+c >= 150 && b >= 80){ cout << "B" << endl; }else if(a+b+c >= 150 && a >= 80){ cout << "B" << endl; }else{ cout << "C" << endl; } } } } }
第四問 4. 人気のアイスクリーム店(4点)
#include <iostream> using namespace std; int main(){ while(1){ int n ; cin >> n; if(n == 0){ break; }else{ int ans[11] = {0}; for(int i = 0;i < n;i++){ int a; cin >>a; ans[a]++; } for(int i = 0;i <10;i++){ if(ans[i] == 0){ cout << "-" <<endl; }else{ for(int j = 0;j < ans[i];j++){ cout << "*" ; } cout << endl; } } } } }
気が向いたらどんどん次の問題も解いていきます。
お腹減った