kmjp's blog

競技プログラミング参加記です

AtCoder ARC #015 : A - Celsius と Fahrenheit、B - 真冬日?真夏日?

なんとCとDをFirst Submitして1位。ミスペナルティが15分→5分になったおかげで1分差で逃げ切りました。
http://arc015.contest.atcoder.jp/tasks/arc015_1
http://arc015.contest.atcoder.jp/tasks/arc015_2

A - Celsius と Fahrenheit

温度が与えられるので、摂氏を華氏に変換する問題。
1.8倍して32を足すだけ。

void solve() {
	double D;
	cin >> D;
	D=D*1.8+32;
	_P("%.6lf\n",D);
}

B - 真冬日?真夏日?

N日分の最低気温と最高気温が与えられるので、条件に応じて真夏日や熱帯日の日数をカウントする。
条件に応じて書くだけ。以上や未満の境界条件に注意。

int D[6];
void solve() {
	int f,r,i,j,k,l,x,y,tx,ty;
	
	int N;
	cin>>N;
	FOR(i,N) {
		double xx,yy;
		cin>>xx>>yy;
		if(xx>=35) D[0]++;
		if(xx>=30 && xx<35) D[1]++;
		if(xx>=25 && xx<30) D[2]++;
		if(yy>=25) D[3]++;
		if(xx>=0 && yy<0) D[4]++;
		if(xx<0) D[5]++;
	}
	
	_P("%d %d %d %d %d %d\n",D[0],D[1],D[2],D[3],D[4],D[5]);
}

まとめ

ここまでは順調。
いつもに比べてBが簡単?