제출 #205343

#제출 시각아이디문제언어결과실행 시간메모리
205343mraronLutrija (COCI19_lutrija)C++14
0 / 70
530 ms504 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; bool ip(ll x) { if(x<=1) return false; for(ll i=2;i*i<=x;++i) { if(x%i==0) return false; } return true; } int main() { ll a,b; cin>>a>>b; vector<ll> lst; lst.push_back(a); lst.push_back(b); lst.push_back(2); if(ip(a-2)) lst.push_back(a-2); if(ip(a+2)) lst.push_back(a+2); if(ip(b-2)) lst.push_back(b-2); if(ip(b+2)) lst.push_back(b+2); map<ll,ll> par; par[a]=0; queue<ll> q; q.push(a); while(!q.empty()) { ll fr=q.front(); q.pop(); cerr<<fr<<"\n"; for(auto i:lst) { if(ip(abs(fr-i)) && par.count(i)==0) { par[i]=fr; q.push(i); } } } if(par.count(b)!=0) { vector<ll> ans; while(b>0) { ans.push_back(b); b=par[b]; } reverse(ans.begin(),ans.end()); cout<<ans.size()<<"\n"; for(auto i:ans) cout<<i<<" "; cout<<"\n"; }else cout<<"-1\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...