# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
344969 | 2021-01-06T20:21:23 Z | Pichon5 | Lutrija (COCI19_lutrija) | C++11 | 346 ms | 492 KB |
#include<bits/stdc++.h> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long int #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair //salida rapida "\n" //DECIMALES fixed<<sp(n)<<x<<endl; //gcd(a,b)= ax + by //lCB x&-x //set.erase(it) - ersases the element present at the required index//auto it = s.find(element) //set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end() //set.lower_bound(element) - iterator pointing to element greater than or equal to the given element //set.upper_bound(element) - iterator pointing to element greater than the given element // | ^ using namespace std; bool is_prime(ll x){ if(x<2ll){ return false; } for(ll i=2;i<=sqrt(x);i++){ if(x%i==0ll){ return false; } } return true; } vi nodos; map<ll,vll>G; map<ll,bool>vis; map<ll,vll>UF; vll ans; ll A,B; void dfs(ll u){ if(u==B){ ans=UF[B]; } vis[u]=true; for(auto it : G[u]){ if(!vis[it]){ UF[it]=UF[u]; UF[it].pb(it); dfs(it); } } } int main() { cin>>A>>B; vis.clear(); for(ll i=A-4ll;i<=A+4ll;i++){ if(is_prime(i) && vis[i]==false){ nodos.pb(i); vis[i]=true; } } for(ll i=B-4ll;i<=B+4ll;i++){ if(is_prime(i) && vis[i]==false){ nodos.pb(i); vis[i]=true; } } if(!vis[2ll]){ nodos.pb(2ll); } vis.clear(); for(int i=0;i<nodos.size();i++){ for(int l=0;l<nodos.size();l++){ if(is_prime(abs(nodos[i]-nodos[l]))){ G[nodos[i]].pb(nodos[l]); G[nodos[l]].pb(nodos[i]); } } } UF[A].pb(A); dfs(A); if(ans.size()==0){ cout<<-1<<endl; }else{ cout<<ans.size()<<endl; for(int i=0;i<ans.size();i++){ cout<<ans[i]<<" "; } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 0 ms | 364 KB | Output is correct |
3 | Correct | 0 ms | 364 KB | Output is correct |
4 | Correct | 0 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 0 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 384 KB | Output is correct |
4 | Correct | 0 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 0 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 0 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 0 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 364 KB | Output is correct |
2 | Correct | 0 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 317 ms | 368 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 310 ms | 268 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 346 ms | 368 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 251 ms | 492 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |