GOOD BYE 2025 CONTEST: Problem A
Difference between en2 and en3, changed 507 character(s)
[contest:https://mirror.codeforces.com/contest/2178]↵
Key Observation: ↵
==================↵

1.The "Yes" is Persistent: In the rules, **_Y OR N = Y_**. This means a Y never disappears; it just "**eats**" the N next to it.↵
2.The Trap: If you have two Ys, they will eventually have to meet as the string gets shorter. Because a Y cannot be turned back into an N, those two Ys will eventually be forced to merge.↵
3.The Rule: If the string has 0 or 1 Y, you can always merge all N's together first, then merge that single N with the single Y.                But if there are greater than equal (>=) 2 Ys, you will eventually be forced to break the rule.


Implementation: ↵
==================↵
#include <bits/stdc++.h>↵
using namespace std;↵

int main()↵
{↵
    ios::sync_with_stdio(false);↵
    cin.tie(NULL);↵
    int test;↵
    cin >> test;↵
    while (test--)↵
    {↵
        string s;↵
        cin >> s;↵
        int Ycount = 0;↵
        for (char c : s)↵
        {↵
            if (c == 'Y')↵
               Ycount++;↵
        }↵

        if (Ycount > 1) cout << "NO" << "\n";↵
        ↵
        else cout << "YES" << "\n"; ↵
    }↵

    return 0;↵
}

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en4 English Badhon_Pain 2025-12-27 23:47:20 114 Tiny change: 'single Y. But if th' -> 'single Y. But if th'
en3 English Badhon_Pain 2025-12-27 23:45:19 507
en2 English Badhon_Pain 2025-12-27 23:34:28 18 Tiny change: '========\n------------------\n1.The "Y' -> '========\n\n1.The "Y'
en1 English Badhon_Pain 2025-12-27 23:33:35 696 Initial revision (published)