SRM 602 Div2 Level-1 250:TypoCoderDiv2
SRM 602 div2 250:TypoCoderDiv2 を解きました。
題意:
TypoCoderには2種類の Rating がある。
Brown ➡︎ 1200以上
Ciel ➡︎ 1200以下
ただし新しい参加者は Rating 500 スタート。
N回分のコンテスト参加後の Rating が与えられるので何回色が変わったかを出力する。
解法:
初期値 500 からの変動もカウントに入る為、初期値 500 を 配列の先頭( rating[ 0 ] ) に加えてから1200以上と以下の変動で場合分けをする。
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0; i<(n); i++) struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; struct TypoCoderDiv2 { vector<int> rating; int count( vector<int> rating ) { int cnt{}; rating.insert( begin( rating ), 500 ); REP( i, (int)rating.size() - 1 ) { if( rating[ i ] >= 1200 && rating[ i + 1 ] < 1200 ) cnt++; if( rating[ i ] < 1200 && rating[ i + 1 ] >= 1200 ) cnt++; } return cnt; } };