結果
問題 | No.2030 Googol Strings |
ユーザー |
|
提出日時 | 2022-08-05 23:14:12 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 63 ms / 2,000 ms |
コード長 | 1,388 bytes |
コンパイル時間 | 1,611 ms |
コンパイル使用メモリ | 141,808 KB |
実行使用メモリ | 9,112 KB |
最終ジャッジ日時 | 2024-09-15 20:48:26 |
合計ジャッジ時間 | 3,172 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
#include <algorithm>#include <cmath>#include <cstdio>#include <functional>#include <iomanip>#include <iostream>#include <map>#include <numeric>#include <queue>#include <set>#include <stack>#include <string>#include <vector>using namespace std;using ll = long long;int main() {int t;cin >> t;while(t--) {string x, y;cin >> x >> y;int mini = min(x.size(), y.size());int maxi = max(x.size(), y.size());bool ok = false;for(int i = 0; i < mini; i++) {if(x[i] < y[i]) {cout << "Y" << endl;ok = true;break;}if(x[i] > y[i]) {cout << "X" << endl;ok = true;break;}}if(ok) {continue;}int cnt = 0;string tmpX = x, tmpY = y;while(tmpX.size() < maxi * 2) {tmpX.push_back(x[cnt % x.size()]);cnt++;}cnt = 0;while(tmpY.size() < maxi * 2) {tmpY.push_back(y[cnt % y.size()]);cnt++;}for(int i = 0; i < maxi * 2; i++) {if(tmpX[i] < tmpY[i]) {cout << "Y" << endl;ok = true;break;}if(tmpX[i] > tmpY[i]) {cout << "X" << endl;ok = true;break;}}if(ok) {continue;}if(x.size() < y.size()) {cout << "Y" << endl;} else {cout << "X" << endl;}}return 0;}