比赛 202103省实验桐柏一中普及组联赛 评测结果 AAAAAAAAAA
题目名称 兵马未动,粮草先行 最终得分 100
用户昵称 锝镆氪锂铽 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2021-03-22 21:21:40
显示代码纯文本
#include <iostream>
#include <cstdio>
using namespace std;
const int maxN = 6e4 + 10;

inline bool check(char a);
bool is_hs(int loc);
bool is_h(int loc);

int tot = 0, ans = 0;
char ch, que[maxN];
int main(void){
	freopen("horsesnum.in", "r", stdin);
	freopen("horsesnum.out", "w", stdout);
	while (true){
		ch = getchar();
		if (check(ch))
			que[++ tot] = ch;
		if (ch == '\n')
			break;
	}
	for (int i = 1; i <= tot; i ++)
		if (que[i] == 'h' || que[i] == 'H'){
			if (is_hs(i)){
				ans += 2;
				i += 5; 
			}
			else if (is_h(i)){
				ans ++;
				i += 4;
			}
		}
	printf("%d\n", ans);
	return 0;
}

inline bool check(char a){
	return (a >= 'A' && a <= 'Z') || (a >= 'a' && a <= 'z'); 
}

bool is_h(int loc){
	bool flag = true;
	if (que[loc + 1] != 'o' && que[loc + 1] != 'O')
		flag = false;
	if (que[loc + 2] != 'r' && que[loc + 2] != 'R')
		flag = false;
	if (que[loc + 3] != 's' && que[loc + 3] != 'S')
		flag = false;
	if (que[loc + 4] != 'e' && que[loc + 4] != 'E')
		flag = false;
	return flag;
}

bool is_hs(int loc){
	bool flag = true;
	if (que[loc + 1] != 'o' && que[loc + 1] != 'O')
		flag = false;
	if (que[loc + 2] != 'r' && que[loc + 2] != 'R')
		flag = false;
	if (que[loc + 3] != 's' && que[loc + 3] != 'S')
		flag = false;
	if (que[loc + 4] != 'e' && que[loc + 4] != 'E')
		flag = false;
	if (que[loc + 5] != 's' && que[loc + 5] != 'S')
		flag = false;
	return flag;
}