fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. vector<long int>v;
  4. bool transform(int a,int b) {
  5. if(b==0) {
  6. return false;
  7. }
  8. if(a==b) {
  9. cout<<"YES"<<endl;
  10. cout<<v.size()<<endl;
  11. reverse(v.begin(), v.end());
  12. for(int i=0;i<v.size();++i)cout<<v[i]<<" ";
  13. return true;
  14. }
  15. bool flag;
  16. if(b%2==0) {
  17. b=b/2;
  18. v.push_back(b);
  19. flag=transform(a,b);
  20. b=b*2;
  21. }
  22. else if(b%2!=0) {
  23. b=b-1;
  24. b=b/10;
  25. v.push_back(b);
  26. flag=transform(a,b);
  27. b=b*10;
  28. b++;
  29. }
  30. return flag;
  31. }
  32.  
  33. int main() {
  34. long a,b;
  35. cin>>a>>b;
  36. v.push_back(b);
  37. bool flag=transform(a,b);
  38. if(!flag)cout<<"NO";
  39. return 0;
  40. }
Success #stdin #stdout 0.01s 5300KB
stdin
Standard input is empty
stdout
NO