이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define rep(i,n) for(int i=0;i<n;i++)
#define crep(i,x,n) for(int i=x;i<n;i++)
#define drep(i,n) for(int i=n-1;i>=0;i--)
#define vec(...) vector<__VA_ARGS__>
#define _3dDwnkq ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
typedef long long ll;
typedef long double ld;
using pii=pair<int,int>;
using vi=vector<int>;
ll prime(ll c){
if(c==2) return true;
if(c<=1) return false;
for(ll j=2;j<=sqrt(c);j++)
if(c%j==0) return false;
return true;
}
int main(){
_3dDwnkq;
ll a,b;
cin>>a>>b;
vec(ll) xs;
for(ll j=-4;j<=4;j++) if(prime(a+j)) xs.pb(a+j);
for(ll j=-4;j<=4;j++) if(prime(b+j)) xs.pb(b+j);
xs.pb(2);
std::map<ll,ll> mp;
auto bfs=[&](){
mp[a]=-1;
queue<ll> que;
que.push(a);
while(sz(que)){
ll top=que.front();
que.pop();
for(auto x : xs){
if(x!=top and prime(abs(x-top))){
if(mp.find(x)==mp.end()){
mp[x]=top;
que.push(x);
}
}
}
}
};
bfs();
vec(ll) pans;
while(true){
pans.pb(b);
if(mp.find(b)==mp.end()){
cout<<"-1\n";
exit(0);
}
if(mp[b]==-1) break;
b=mp[b];
}
reverse(all(pans));
cout<<sz(pans)<<"\n";
for(auto x : pans) cout<<x<<" ";
//
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |