結果

問題 No.2185 平方数の下6桁
ユーザー ちーちー
提出日時 2023-01-13 22:29:48
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
TLE  
実行時間 -
コード長 1,602 bytes
コンパイル時間 2,150 ms
コンパイル使用メモリ 204,892 KB
実行使用メモリ 13,824 KB
最終ジャッジ日時 2024-06-06 23:19:40
合計ジャッジ時間 8,725 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
testcase_27 -- -
testcase_28 -- -
testcase_29 -- -
testcase_30 -- -
testcase_31 -- -
testcase_32 -- -
testcase_33 -- -
testcase_34 -- -
testcase_35 -- -
testcase_36 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include "bits/stdc++.h"
#include "iomanip"

using namespace std;

#define fastIO() ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define pb push_back
#define judge(x) if (x) cout << "Yes" << endl; else cout << "No" << endl
#define printlist(l, n) cout << "[ "; for(int (i)=0; (i)<(n); ++(i)) {cout << (l)[i] << " "; } cout << "]" << endl;
#define loop(t) while (t--)
#define rep(a, b) for (int i = a; i < b; ++i)
#define rrep(a, b) for (int i = a; i >= b; --i)
#define mem(a, b) memset(a,b,sizeof(a))
#define all(a) a.begin(), a.end()
#define rall(a) rbegin(a), rend(a)
#define put(a) for (auto &_x: a) cin >> _x
#define space() cout << endl

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;

const int N = 2e5 + 5;
const double eps = 1e-6;
constexpr int mod = 1e9 + 7;
constexpr int MOD = 998244353;
constexpr int i32 = 0x3f3f3f3f;

using vi = std::vector<int>;
using vvi = std::vector<vi>;

int main() {
    fastIO();
    unordered_set<int> set;
    set.insert(1);
    set.insert(4);
    set.insert(9);
    set.insert(5);
    set.insert(0);
    string s;
    cin >> s;
    if (!set.count(s[s.size() - 1] - '0')) cout << "NO";
    else {
        bool f = 0;
        for (ll i = 1000, j = 6, k = 5; i <= INT_MAX; ++i, j = 6, k = 5) {
            ll num = i * i;
            while (j--) {
                int z = num % 10;
                if (z != s[k])break;
                --k;
            }
            if (k == -1){
                f=1;
                break;
            }
        }
        if (f)cout << "YES";
        else cout << "NO";
    }
}
0