CF854B Maxim Buys an Apartment【思路】

来源:互联网 发布:手机黄金交易软件 编辑:程序博客网 时间:2024/05/16 11:49

题意:n个房子,有k个已经住人了,一个人去买房,他喜欢隔壁已经有人的房子,问这样的房子最少、最多有几个


思路:最少的很好想,最多的考虑给每个k分配一些房子,k==0,特判

n/k ≥ 3,每个k两边都有能买的房,2 * k

n/k == 2,考虑余数,k + n % k

n/k == 1,没人住的房子不到一半,塞中间,n - k


#include<stdio.h>#include<iostream>#include<string.h>#include<string>#include<stdlib.h>#include<math.h>#include<vector>#include<list>#include<map>#include<stack>#include<queue>#include<algorithm>#include<numeric>#include<functional>using namespace std;typedef long long ll;typedef pair<int,int> pii;const int maxn = 105;int main(void){int n,k;while(scanf("%d%d",&n,&k)!=EOF){if(k == 0 || k == n)printf("0 0\n");else if(n/k >= 3)printf("1 %d\n",2*k);else if(n/k == 2)printf("1 %d\n",k+n%k);else if(n/k == 1)printf("1 %d\n",n-k);}return 0;}


原创粉丝点击