結果

問題 No.2030 Googol Strings
コンテスト
ユーザー CPer
提出日時 2026-10-07 04:36:29
言語 C++23(gcc16)
(gcc 16.1.0 + boost 1.92.0 + ACL)
コンパイル:
g++-16 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 15 ms / 2,000 ms
+ 199µs
コード長 1,134 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,856 ms
コンパイル使用メモリ 349,768 KB
実行使用メモリ 9,900 KB
最終ジャッジ日時 2026-10-07 04:36:43
合計ジャッジ時間 5,237 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

//  Created On : 2026-10-07 00:55:20

#include <cassert>
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define returnNO  {std::cout << "NO\n";  return;}
#define returnYES {std::cout << "YES\n"; return;}
#define returnAns(x) {cout << x << "\n"; return;}

template<typename T>
using MaxHeap = std::priority_queue<T, std::vector<T>, std::less<T>>;
template<typename T>
using MinHeap = std::priority_queue<T, std::vector<T>, std::greater<T>>;

const int MOD1 = 1000000007;
const int MOD2 = 998244353;


/** obs **


**/


void solve(int test_case_index) {  
    string x, y; cin >> x >> y;
    int i = 0, j = 0, n = x.size(), m = y.size();
    
    for (int k = 1; k <= 2 * max(m, n); ++k) {
        if (x[i] == y[j]) ;
        else if (x[i] > y[j]) returnAns("X")
        else returnAns("Y")
    
        i = (i + 1) % n;
        j = (j + 1) % m;
    }

    if (n > m) returnAns("X")
    returnAns("Y")
}



void preComp() {

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

    int t = 1;
    std::cin >> t;

    for (int i = 1; i <= t; ++i) solve(i);
    return 0;
}
0