ABC_c求错误样例
  • 板块学术版
  • 楼主milk1234
  • 当前回复10
  • 已保存回复10
  • 发布时间2024/4/13 21:50
  • 上次更新2024/4/14 08:25:01
查看原帖
ABC_c求错误样例
774110
milk1234楼主2024/4/13 21:50
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <algorithm>

using namespace std;

bool isAirportCode(const string &S, const string &T) {
	if (T.size() != 3) {
		return false;
	}
	string lowercaseS = S;
	transform(lowercaseS.begin(), lowercaseS.end(), lowercaseS.begin(), ::tolower);
	vector<int> countS(26, 0);
	for (char c : lowercaseS) {
		if (isalpha(c)) {
			countS[c - 'a']++;
		} else {
			return false;
		}
	}
	for (int i = 0; i < 2; ++i) {
		char c = T[i];
		if (isupper(c)) {
			char lowercaseC = tolower(c);
			if (countS[lowercaseC - 'a'] > 0) {
				countS[lowercaseC - 'a']--;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}
	char c = T[2];
	if (c == 'X' || (isupper(c) && countS[tolower(c) - 'a'] > 0)) {
		if (isupper(c)) {
			countS[tolower(c) - 'a']--;
		}
		return true;
	}

	return false;
}

int main() {
	string S, T;
   cin>>S>>T;
	if (isAirportCode(S, T)) {
		cout << "Yes";
	} else {
		cout << "No";
	}
	return 0;
}
2024/4/13 21:50
加载中...