結果
問題 | No.2721 "Don't say N" Game |
ユーザー | SATO |
提出日時 | 2024-04-12 21:57:58 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 13 ms / 2,000 ms |
コード長 | 3,702 bytes |
コンパイル時間 | 1,069 ms |
コンパイル使用メモリ | 120,612 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-02 23:17:11 |
合計ジャッジ時間 | 1,524 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 8 ms
5,248 KB |
testcase_02 | AC | 7 ms
5,248 KB |
testcase_03 | AC | 13 ms
5,248 KB |
testcase_04 | AC | 6 ms
5,248 KB |
testcase_05 | AC | 9 ms
5,248 KB |
ソースコード
#include <algorithm> #include <array> #include <bitset> #include <cassert> #include <cctype> #include <cfenv> #include <cfloat> #include <chrono> #include <cinttypes> #include <climits> #include <cmath> #include <complex> #include <cstdarg> #include <cstddef> #include <cstdint> #include <cstdio> #include <cstdlib> #include <cstring> #include <deque> #include <fstream> #include <functional> #include <initializer_list> #include <iomanip> #include <ios> #include <iostream> #include <istream> #include <iterator> #include <limits> #include <list> #include <map> #include <memory> #include <new> #include <numeric> #include <ostream> #include <queue> #include <random> #include <set> #include <sstream> #include <stack> #include <streambuf> #include <string> #include <tuple> #include <type_traits> #include <typeinfo> #include <unordered_map> #include <unordered_set> #include <utility> #include <vector> //#include<atcoder/dsu> using namespace std; //using namespace atcoder; #define ll long long template <typename T> using V = vector<T>; template <typename T> using VV = vector<vector<T>>; using vi = vector<int>; using vl = vector<long long>; using vd = V<double>; using vs = V<string>; using vvi = vector<vector<int>>; using vvl = vector<vector<long long>>; using vvc = vector<vector<char>>; template <typename T, typename U> struct P : pair<T, U> { template <typename... Args> P(Args... args) : pair<T, U>(args...) {} using pair<T, U>::first; using pair<T, U>::second; P &operator+=(const P &r) { first += r.first; second += r.second; return *this; } P &operator-=(const P &r) { first -= r.first; second -= r.second; return *this; } P &operator*=(const P &r) { first *= r.first; second *= r.second; return *this; } template <typename S> P &operator*=(const S &r) { first *= r, second *= r; return *this; } P operator+(const P &r) const { return P(*this) += r; } P operator-(const P &r) const { return P(*this) -= r; } P operator*(const P &r) const { return P(*this) *= r; } template <typename S> P operator*(const S &r) const { return P(*this) *= r; } P operator-() const { return P{-first, -second}; } }; template <typename T> using minpq = priority_queue<T, vector<T>, greater<T>>; using pl = P<long long, long long>; using pi = P<int, int>; using vp = V<pl>; #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), v.rend() #define each(i, v) for (auto i : v) #define each2(x, y, v) for (auto [x, y] : v) #define rep(i, N) for (long long i = 0; i < (long long)(N); i++) #define repr(i, N) for (long long i = (long long)(N)-1; i >= 0; i--) #define rep1(i, N) for (long long i = 1; i <= (long long)(N); i++) #define repr1(i, N) for (long long i = (N); (long long)(i) > 0; i--) #define reg(i, a, b) for (long long i = (a); i < (b); i++) #define regr(i, a, b) for (long long i = (b)-1; i >= (a); i--) // #define fi first // #define se second #define in(a) cin >> a #define out2(a, b) cout << a << b #define out(a) cout << a << "\n" constexpr int INF = 0x3f3f3f3f; constexpr long long LINF = 0x3f3f3f3f3f3f3f3fLL; constexpr double EPS = 1e-8; constexpr int MOD = 998244353; // constexpr int MOD = 1000000007; #define pb push_back #define mod(a, b) (a % b + b) % b // 出力が正整数になるmod計算 int main() { ll N; in(N); rep(i, N){ ll C, cnt_div = 0; in(C); //Cの約数の個数を調べる rep1(j, C){ if(C % j == 0) cnt_div++; } if(cnt_div % 2 == 0) out("K"); else out("P"); } return 0; }