你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

困牛放牧(Sleepy Cow Herding)

2021-11-22 8:11:38

题目描述

FJ的三头奶牛:Bessie,Elsie,和Mildred总是徘徊在农场的远处!FJ需要你的帮助将它们移到理想的位置。

FJ农场很长而且很窄,我们可以认为它像一条数轴,奶牛可以占据任何整数位置,但每个位置最多只能有1头奶牛。

这3头奶牛目前位于不同的整数位置,FJ想要移动他们,使得它们占据三个连续的位置(例如 6,7,8)。

因为牛很懒,FJ很难移动它们。只有当一头牛不处于另两头牛中间,FJ才可以移动这头牛,

当FJ移动一头奶牛时,他可以让这头奶牛去任意一个位置,只要在这个位置这头奶牛处于另两头奶牛中间。

这样,奶牛会越靠越近。

求最少和最多的移动次数

#include <stdio.h>

int main() {
    int a, b, c;
    int gap_1, gap_2;
    scanf("%d %d %d", &a, &b, &c);
    gap_1 = b - a - 1;
    gap_2 = c - b - 1;
    int t = gap_1 - gap_2;
    if (gap_1 == 0 && gap_2 == 0)
        printf("0\n0\n");

    else if (gap_1 == 1 || gap_2 == 1) {
        printf("1\n");
        if (t > 0)
            printf("%d", gap_1);
        else
            printf("%d", gap_1);
    }

    else {
        printf("2\n");
        if (t > 0)
            printf("%d", gap_1);
        else
            printf("%d", gap_2);
    }
    return 0;
}