結果
問題 | No.2629 A replace B replace C |
ユーザー |
|
提出日時 | 2024-02-16 22:51:25 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 26 ms / 2,000 ms |
コード長 | 1,030 bytes |
コンパイル時間 | 2,326 ms |
コンパイル使用メモリ | 194,284 KB |
最終ジャッジ日時 | 2025-02-19 14:34:36 |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 61 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; string S, T; cin >> S >> T; if(S == T) { cout << "Yes" << endl; return 0; } int sA(0), sB(0), sC(0), tA(0), tB(0), tC(0); for(int i = 0; i < N; i++) { if(S[i] == 'A') sA++; if(S[i] == 'B') sB++; if(S[i] == 'C') sC++; } for(int i = 0; i < N; i++) { if(T[i] == 'A') tA++; if(T[i] == 'B') tB++; if(T[i] == 'C') tC++; } for(int i = 0; i < N; i++) { if(T[i] < S[i]) { cout << "No" << endl; return 0; } } int cnt(0); for(int i = 0; i < N; i++) { if(S[i] == 'B' && T[i] == 'C') cnt++; } if(cnt == 0) { if(S != T) { cout << "No" << endl; return 0; } } if(((0 < sB) && (sB == tB)) && ((tA <= sA) && (sA - tA) == (tC - sC))) { }else { cout << "No" << endl; return 0; } cout << "Yes" << endl; return 0; }