結果

問題 No.2629 A replace B replace C
ユーザー elphe
提出日時 2024-11-15 17:26:25
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 4 ms / 2,000 ms
コード長 682 bytes
コンパイル時間 724 ms
コンパイル使用メモリ 67,408 KB
最終ジャッジ日時 2025-02-25 04:18:01
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <cstdint>

using namespace std;

int main()
{
	cin.tie(nullptr);
	ios::sync_with_stdio(false);

	uint32_t N, i;
	string S, T;
	cin >> N >> S >> T;

	uint32_t count_AB = 0, count_AC = 0, count_BC = 0;
	for (i = 0; i != N; ++i)
	{
		if (S[i] > T[i])
		{
			cout << "No\n";
			return 0;
		}

		switch (S[i])
		{
		case 'A':
			switch (T[i])
			{
			case 'B':
				++count_AB;
				break;

			case 'C':
				++count_AC;
				break;
			}
			break;

		case 'B':
			if (T[i] == 'C') ++count_BC;
			break;
		}
	}
	if (count_AB >= 1 && count_BC >= 1) count_AC = 0;

	if (count_AC == 0 && count_AB == count_BC)
		cout << "Yes\n";
	else
		cout << "No\n";

	return 0;
}
0