結果
| 問題 | No.8049 Yes |
| コンテスト | |
| ユーザー |
Hitsuji
|
| 提出日時 | 2020-11-02 12:23:57 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 5,520 bytes |
| コンパイル時間 | 1,728 ms |
| 実行使用メモリ | 4,828 KB |
| スコア | 300 |
| 最終ジャッジ日時 | 2020-11-02 12:24:00 |
| 合計ジャッジ時間 | 2,878 ms |
|
ジャッジサーバーID (参考情報) |
judge7 / judge9 |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 |
ソースコード
#include <bits/stdc++.h>
// #include <atcoder/all>
#define TRUE true
/**/
#pragma GCC target("avx")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
/**/
using namespace std;
using ll = long long;
using ld = long double;
using pint = pair<int, int>;
using pll = pair<long long, long long>;
template <class T>
using vec = vector<T>;
template <class T>
using vec2 = vector<vec<T>>;
template <class T>
using vec3 = vector<vec2<T>>;
template <class T>
using vec4 = vector<vec3<T>>;
constexpr int INF = numeric_limits<int>::max();
constexpr ll INFL = numeric_limits<ll>::max();
constexpr ll MOD = 1000000007; // 10^9+7
namespace HitsujiLibrary
{
#define all(x) x.begin(), x.end()
#define rep(i, n) for (ll i = 0, i##_len = (n); i < i##_len; ++i)
#define rep1(i, n) for (ll i = 1, i##_len = (n); i <= i##_len; ++i)
#define rrep(i, n) for (ll i = (n)-1; i >= 0; --i)
#define rrep1(i, n) for (ll i = (n); i > 0; --i)
#define range(i, a, b) for (ll i = (a), i##_len = (b); i < i##_len; ++i)
#define rrange(i, a, b) for (ll i = (b)-1, i##_len = (a); i >= i##_len; --i)
#ifdef DEBUG_BUILD
#define debug(x) debugl(string(#x) + " : ", (x))
#define debugtab(tab, x) debugl(string((tab), '\t') + string(#x) + " : ", (x))
template <class T>
void debugl(string text, T value)
{
cerr << text << value << endl;
}
#else
#define debug(x)
#define debugtab(tab, x)
#define debugl(text, value)
#endif
template <class T1, class T2>
ostream &operator<<(ostream &os, const pair<T1, T2> &data)
{
os << "(" << data.first << ", " << data.second << ")";
return os;
}
template <class T>
ostream &operator<<(ostream &os, const vector<T> &data)
{
if (data.size() == 0)
{
os << "{ }";
return os;
}
os << "{";
for (size_t i = 0; i < data.size() - 1; ++i)
{
os << data[i] << ", ";
}
os << data[data.size() - 1] << "}";
return os;
}
template <class T>
ostream &operator<<(ostream &os, const set<T> &data)
{
auto dataItr = data.begin();
if (dataItr == data.end())
{
os << "{ }";
return os;
}
os << "{" << *dataItr;
++dataItr;
for (; dataItr != data.end(); ++dataItr)
{
os << ", " << *dataItr;
}
os << "}";
return os;
}
template <class Key, class T>
ostream &operator<<(ostream &os, const map<Key, T> &data)
{
auto dataItr = data.begin();
if (dataItr == data.end())
{
os << "{ }";
return os;
}
os << "{" << dataItr->first << " : " << dataItr->second;
++dataItr;
for (; dataItr != data.end(); ++dataItr)
{
os << ", " << dataItr->first << " : " << dataItr->second;
}
os << "}";
return os;
}
/*****/
template <class T>
bool chmax(T &a, const T b)
{
if (a < b)
{
a = b;
return true;
}
return false;
}
template <class T>
bool chmin(T &a, const T b)
{
if (a > b)
{
a = b;
return true;
}
return false;
}
template <class T1, class T2>
auto divup(const T1 a, const T2 b) { return (a + (b - 1)) / b; }
template <class T>
bool cmp_2nd(pair<T, T> a, pair<T, T> b)
{
if (a.second != b.second)
{
return a.second < b.second;
}
return a.first < b.first;
}
ll pow(ll x, ll n, const ll &p)
{
ll ret = 1;
while (n > 0)
{
if (n & 1)
{
(ret *= x) %= p;
}
(x *= x) %= p;
n >>= 1;
}
return ret;
}
template <class T>
T modinv(T a, const T &p)
{
T b = p, u = 1, v = 0;
while (b)
{
T t = a / b;
a -= t * b;
swap(a, b);
u -= t * v;
swap(u, v);
}
u %= p;
if (u < 0)
{
u += p;
}
return u;
}
} // namespace HitsujiLibrary
using namespace HitsujiLibrary;
/*****/
bool score(string s)
{
// debug(s);
int count = 0;
if (s == "Yes")
{
count++;
}
if (s[0] == 'Y')
{
count++;
}
if (s.size() == 3)
{
count++;
}
// debugtab(1, string({'"', (char)(s[0] + s[1] + s[2]), '"'}));
if ((char)(s[0] + s[1] + s[2]) == '1')
{
count++;
}
char t = 0;
rep(i, s.size())
{
t ^= s[i];
}
// debugtab(1, string({'"', (char)(t), '"'}));
if (t == 'O')
{
count++;
}
// debugtab(1, count);
return count == 4;
}
void Main()
{
vector<char> al;
for (char ch = 'a'; ch <= 'z'; ++ch)
{
al.emplace_back(ch);
}
for (char ch = 'A'; ch <= 'Z'; ++ch)
{
al.emplace_back(ch);
}
char a = 'Y';
for (char b : al)
{
for (char c : al)
{
if (score(string({a, b, c})))
{
cout << string({a, b, c}) << endl;
return;
}
}
}
}
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout << std::fixed << std::setprecision(10);
Main();
std::cerr << flush;
std::cout << flush;
return 0;
}
Hitsuji