結果
問題 |
No.2379 Burnside's Theorem
|
ユーザー |
![]() |
提出日時 | 2025-02-05 02:03:19 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,279 bytes |
コンパイル時間 | 3,900 ms |
コンパイル使用メモリ | 278,352 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2025-02-05 02:03:26 |
合計ジャッジ時間 | 5,499 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 WA * 1 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define vi vector<int> #define vs vector<string> #define int long long int #define pii pair<int,int> #define pb push_back #define f(i,a,b) for(int i=a;i<b;i++) #define ff first #define s second #define nl cout<<endl; #define print(a) cout<<a<<"\n"; #define all(a) (a).begin(), (a).end() #define parr(a) f(mnb,0,a.size()){cout<<a[mnb]<<" ";}cout<<endl; #define rarr(a) f(yon,0,a.size()){cin>>a[yon];} #define imx INT_MAX #define imn INT_MIN #define sortD(a) sort(a.end(),a.begin()); #define sortA(a) sort(all(a)); void solve(){ int n; cin >> n; if(n == 1){ cout << "Yes"; return; } set<int> st; auto findprime = [&](){ while(n%2==0){ st.insert(2); //pf.pb(2); n/=2; } for(int i =3;i*i<=n;i+=2){ if(n%i==0){ st.insert(i); //pf.pb(i); n/=i; } } if(n>2) st.insert(n); // pf.pb(n); }; findprime(); // parr(pf) cout << (st.size() == 1 || st.size() == 2?"Yes":"No"); } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t=1; //cin>>t; while(t--){ solve(); } }