intさわだんのBlack History

刹那的レジェンドになりたい。

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;
	}
      }
    }
  }
}

気が向いたらどんどん次の問題も解いていきます。
お腹減った