結果
問題 | No.201 yukicoderじゃんけん |
ユーザー | おいがみ |
提出日時 | 2015-05-09 00:01:40 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 2,304 bytes |
コンパイル時間 | 740 ms |
コンパイル使用メモリ | 103,140 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-05 20:50:59 |
合計ジャッジ時間 | 1,434 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
#include<iostream>#include<iomanip>#include<sstream>#include<memory>#include<random>#include<algorithm>#include<functional>#include<numeric>#include<set>#include<vector>#include<list>#include<bitset>#include<array>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<cstdlib>#include<cstring>#include<climits>#ifndef MYDEBUG#define err(...)#define errs(...)#define NO_CP(a)#define MY_ASSERT(a)#endifusing namespace std;void Calc();#define PI 3.14159265358979323846#define ALL(a) (a).begin(),(a).end()#define RALL(a) (a).rbegin(),(a).rend()typedef long long ll;typedef unsigned long long ull;int main() {cin.tie(0);ios::sync_with_stdio(false);cout.setf(ios::fixed, ios::floatfield);cout.precision(15);Calc();cout.flush();return 0;}struct Scanner {NO_CP(Scanner);template<class A = string>static A Next() { A a; cin >> a; MY_ASSERT(cin); return a; }static string Line() { string s; getline(cin, s); MY_ASSERT(cin); return s; }template<class A = int>static vector<A> Array(int n) {vector<A> a(n); for (A& i : a) i = Next<A>(); return a;}static int Int() { return Next<int>(); }template<class A> Scanner& operator>>(A &a) { a = Next<A>(); return *this; }template<class A> operator A() { return Next<A>(); }};template<> bool Scanner::Next<bool>() { return !!cin; }namespace out {template<class A> void Out(A b, A e, const char *between = " ") {if (b != e)while (cout << *b, ++b != e) cout << between;}template<class T>void Outs(const T &t) { cout << t; }template<class T, class... Args>void Outs(const T& t, const Args&... args) {cout << t << ' ';Outs(args...);}}/*---------------------------------------------------------------------*/void Calc() {Scanner cin;string s1, p1, s2, p2;bool is_first_win = true;cin >> s1 >> p1;cin.Next<char>();cin >> s2 >> p2;if (p1.size() == p2.size()) {if (p1 == p2) {cout << -1 << endl;return;}for (int i = 0; i < p1.size(); i++) {if (p1[i] == p2[i])continue;if (p1[i] < p2[i])is_first_win = false;break;}} else if (p1.size() < p2.size()) {is_first_win = false;}if (is_first_win)cout << s1 << endl;else cout << s2 << endl;}