結果
問題 |
No.2379 Burnside's Theorem
|
ユーザー |
|
提出日時 | 2025-02-05 19:35:45 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,106 bytes |
コンパイル時間 | 2,296 ms |
コンパイル使用メモリ | 172,712 KB |
実行使用メモリ | 6,816 KB |
最終ジャッジ日時 | 2025-02-05 19:35:50 |
合計ジャッジ時間 | 4,235 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 18 WA * 2 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define ld long double #define PI 3.1415926535897932384626433832795l #define pb push_back #define forn(i, a, n) for (int i = a; i < n; i++) #define forrn(i, a, n) for (int i = n - 1; i >= a; i--) #define inputArr(arr) forn(i, 0, arr.size()) cin >> arr[i] #define inputArrRange(arr, a, b) forn(i, a, b) cin >> arr[i] #define printArr(arr) forn(i, 0, arr.size()) cout << arr[i] << " " #define printArrRange(arr, a, b) forn(i, a, b) cout << arr[i] << " " #define sz(a) a.size() #define all(ans) ans.begin(), ans.end() #define lcm(a, b) ((a * b) / __gcd(a, b)) #define gcd(a, b) (__gcd(a, b)) #define um unordered_map #define mp make_pair #define here cout << "here" << endl; #define print(ans) cout << ans #define nl cout << endl #define min_heap(T) priority_queue<T, vector<T>, greater<T>> #define max_heap(T) priority_queue<T> typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<pii> vpii; typedef vector<pll> vpll; typedef vector<vi> vvi; typedef vector<vl> vvl; typedef vector<char> vc; typedef vector<vc> vvc; typedef vector<string> vs; typedef vector<vs> vvs; typedef vector<bool> vb; vb prime(1e6 + 1, true); vi primes; void sieve(ll int n) { for (ll int p = 2; p * p <= n; p++) { if (prime[p] == true) { primes.pb(p); for (ll int i = p * p; i <= n; i += p) prime[i] = false; } } } void solve() { ll int n; cin >> n; sieve(1e6 + 1); sort(all(primes)); set<int> factors; forn(i, 0, sz(primes)) { if (n % primes[i] == 0) { factors.insert(primes[i]); n /= primes[i]; } } if (n > 1) factors.insert(n); if (factors.size() <= 2) cout << "Yes\n"; else cout << "No\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; // cin >> tc; for (int t = 1; t <= tc; t++) { solve(); } }