求大佬指点一下,第九个点过不了
查看原帖
求大佬指点一下,第九个点过不了
609811
accccccc楼主2022/8/4 08:50
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <unordered_map>
#define ll long long
using namespace std;
#define INF 0x3f3f3f3f
const int N = 210;
int main() {
	string s;
	int boy = 0, girl = 0;
	cin >> s;
	//打标记法 
	for(int i = 0; i < s.size(); ++i) {
		if(i < s.size()-2 && s[i] == 'b' && s[i+1] == 'o' && s[i+2] == 'y') {
			s[i] = s[i+1] = s[i+2] =  '.';
			boy++;
		}
		else if(i < s.size()-1 && s[i] == 'b' && s[i+1] == 'o') {
			s[i] = s[i+1] = '.';
			boy++;
		}
		else if(i < s.size()-1 && s[i] == 'o' && s[i+1] == 'y') {
			s[i] = s[i+1] = '.';
			boy++;
		}
		else if(i < s.size()-3 && s[i] == 'g' && s[i+1] == 'i' && s[i+2] == 'r'
		&& s[i+3] == 'l') {
			s[i] = s[i+1] = s[i+2] = s[i+3] = '.';
			girl++;
		}
		else if(i < s.size()-2 && s[i] == 'g' && s[i+1] == 'i' && s[i+2] == 'r') {
			s[i] = s[i+1] = s[i+2] = '.';
			girl++;
		}
		else if(i < s.size()-2 && s[i] == 'i' && s[i+1] == 'r' && s[i+2] == 'l') {
			s[i] = s[i+1] = s[i+2] = '.';
			girl++;
		}
		else if(i < s.size()-1 && s[i] == 'g' && s[i+1] == 'i') {
			s[i] = s[i+1] = '.';
			girl++;
		}
		else if(i < s.size()-1 && s[i] == 'i' && s[i+1] == 'r') {
			s[i] = s[i+1] = '.';
			girl++;
		}
		else if(i < s.size()-1 && s[i] == 'r' && s[i+1] == 'l') {
			s[i] = s[i+1] = '.';
			girl++;
		}
	}
	//找出boy和girl的单独的字符 
	for(int i = 0; i < s.size(); ++i) {
		if(s[i] == 'b' || s[i] == 'o' || s[i] == 'y') {
			boy++;
		}
		else if(s[i] == 'g' || s[i] == 'i' && s[i] == 'r'
		|| s[i] == 'l') {
			girl++;
		}
	}
	cout << boy << "\n" << girl;
	return 0;
}
2022/8/4 08:50
加载中...