判定関数においてA~Dそれぞれの範囲をわかりやすくするため
すべての下限上限を書いた。
A~Dの配列0~4だけどmap<char, int>なんかで扱っても良かったかも。
/****************************
* 2012/07/14 *
* AOJ_Volume1_0149 *
* Eye Test *
* crane *
*****************************/
//--------------------------------------//
// 判定 視力 //
// A 1.1以上 //
// B 0.6以上1.1未満 //
// C 0.2以上0.6未満 //
// D 0.2未満 //
//--------------------------------------//
#include<iostream>
#include<map>
using namespace std;
int solve(double x);
int main(){
int ldata[4] = {0, 0, 0, 0};
int rdata[4] = {0, 0, 0, 0};
double left, right;
while(cin >> left >> right){
int le = solve(left);
int ri = solve(right);
ldata[le]++;
rdata[ri]++;
}
for(int i=0; i<4; i++)
cout << ldata[i] << " " << rdata[i] << endl;
return 0;
}
int solve(double x){
if(1.1 <= x) return 0;
else if(0.6<=x && x<1.1) return 1;
else if(0.2<=x && x<0.6) return 2;
else if(x<0.2) return 3;
}
0 件のコメント:
コメントを投稿