先考虑n与k相等或者k为0,最小和最大的都为0; 其次如果k大于等于n的一半,则剩下的位置都可以使前面或后面有人; 如果k小与n的一半,使第一个人坐第二个位置,下一个人与前一个人隔两个位置,所以每个人可以坐的位置是前面或后面两个,牛牛坐的位置就是人数*2 #include<bits/stdc++.h> using namespace std; int main() { int min,max; min=1; int n,k; cin>>n>>k; if(k==0||k==n) {max=0;min=0;} else { if(k>=n/2) max=n-k; else max=k*2; } cout<<min<<" "<<max; return 0; }