제출 #711087

#제출 시각아이디문제언어결과실행 시간메모리
711087dozerLutrija (COCI19_lutrija)C++14
0 / 70
308 ms340 KiB
#include <bits/stdc++.h> using namespace std; #define sp " " #define endl "\n"; #define fastio() cin.tie(0), ios_base::sync_with_stdio(0) #define pb push_back #define pii pair<int, int> #define st first #define nd second #define N 200005 #define int long long const int modulo = 1e9 + 7; int dp[1005][1005]; bool is_prime(int num) { num = abs(num); if (num < 2) return 0; for (int i = 2; i * i <= num; i++) if (num % i == 0) return 0; return 1; } vector<int> ans; void solve(int a, int b) { if (a == b) { ans.pb(a); return; } if (is_prime(b - a)) { ans.pb(a); solve(b, b); } else if (is_prime(a - 2)) { ans.pb(a); solve(2, b); } else if (is_prime(b - 2)) { solve(a, 2); ans.pb(b); } else if (is_prime(a + 2)) { ans.pb(a); solve(a + 2, b); } else if (is_prime(b + 2)) { solve(a, b + 2); ans.pb(b); } } int32_t main() { fastio(); int a, b; cin>>a>>b; solve(a, b); if (ans.back() == b) { cout<<ans.size()<<endl; for (auto i : ans) cout<<i<<sp; cout<<endl; } else cout<<-1<<endl; cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " seconds\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...