题目链接:CF-854B
简单题,想复杂了。
每个房子最多贡献2个邻居,那么以3个单位为循环节,如果K<n/3,最大值为2k,否则最大值为n-k,至于最小值显然是1,都堆在某一边即可,注意如果K=0的时候,最大最小值都是0.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <string.h>
#include <cstring>
#include <string>
using namespace std;
int main()
{
int n, k;
scanf("%d%d", &n, &k);
if (n == k||k==0)
{
printf("0 0\n");
}
else
{
int ans1 = 1;
int ans2;
int mod = n % 3;
int s = n / 3;
if (s >= k)
ans2 = 2 * k;
else
ans2 = n - k;
printf("%d %d\n", ans1, ans2);
}
return 0;
}