AT2141 题解

题目传送门

小学生又双叒叕来写题解啦!

出布永远不会亏,所以只要能出布就出布

这就变成了个模拟题。

需要记录石头的数量、布的数量、总分。

送上满分代码:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
	string s;
	cin >> s;
	int cntX = 0, cntY = 0, cnt = 0;
	for (int i = 0; i < s.length(); i++)
	{
		if (s[i] == 'g')
		{
			if (cntX == cntY) cntX++;  //只能出石头。 
			else cntY++, cnt++;  //能出布就出布,并加分。 
		}
		else if (s[i] == 'p')
		{
			if (cntX == cntY) cntX++, cnt--;  //只能出石头,并且要扣分。 
			else cntY++;  //能出布就出布。 
		}
	}
	printf("%d\n", cnt);  //别忘了祖传换行。 
	return 0;
}

首发:2022-02-03 23:11:22

posted @ 2022-08-25 00:10  liangbowen  阅读(15)  评论(0编辑  收藏  举报