Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int NN = 10;
- int d[NN];
- int p[NN];
- vector<int> v;
- int kavo(){
- v.clear();
- p[1] = -1;
- for (int i = 1; i <= n; i++) {
- d[i] = INT_MAX;
- }
- d[1] = 0;
- for (int i = 1; i < n; i++) {
- if (a * i <= n)
- if (d[i] + 1 < d[a * i]) {
- d[a * i] = d[i] + 1;
- p[a * i] = i;
- }
- if (b * i <= n)
- if (d[i] + 1 < d[b * i]) {
- d[b * i] = d[i] + 1;
- p[b * i] = i;
- }
- if (i + 1 <= n)
- if (d[i] + 1 < d[i + 1]) {
- d[i + 1] = d[i] + 1;
- p[i + 1] = i;
- }
- if (i + c <= n)
- if (d[i] + 1 < d[i + c]) {
- d[i + c] = d[i] + 1;
- p[i + c] = i;
- }
- }
- int q = n;
- while (q != -1) {
- v.push_back(q);
- q = p[q];
- }
- return d[n];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement