見出し画像

ABC046-D 備忘録 p.49

itsukiです。
AtCoderの過去問を解いた様子です。解説記事ではありません。

考察の流れ

全部グーを出したらどれだけ負けるか考える
相手がパーを出す数を、仮に p と置く
自分がパーを出せる最大数(仮に pmax と置く)は、手数 N ÷ 2 を切り捨てた値になる
相手がパーを出すときに自分もパーを出すことで、相手がパーを出すときは極力あいこにする
それでもまだパーを出せるなら、相手がグーのときにパーを出して勝つ
pmax - p が答え
#include <stdio.h>
#include <string.h>
int main(){
	int n, p=0, pmax;
	char s[100001]={0};
	scanf("%s",s);
	n	 = strlen(s);
	pmax = n/2;
	for(int i=0; i<n; i++){
		if( s[i]=='p' ){ p++; }
	}
	printf("%d\n",pmax-p);
	return 0;
}

まとめ

・昔の水色なら解ける
・どんなに頑張っても緑色まで と思っていたので、色を気にせず積極的に過去問を解いていきたい

引き続き、のんびり精進します。

#備忘録 #AtCoder #ABC #プログラミング #競プロ #C言語

この記事が気に入ったらサポートをしてみませんか?