Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) problem: (B) Maxim Buys an Apartment

题目:一个人要买房,一共有n间在一排的房,有k间已经售出。但这个人只想买旁边有人居住的房,问最多有多少选择,最少有多少选择。

题解:当k==0或k==n时,max==min==0。一般情况时三个为一组,k--,tot+=2,n-=3;当n<3时,tot+=(n-k)。

 

代码:

 

#include<cstdio>
int main(){
int n,k,tot=0;
scanf("%d%d",&n,&k);
if(k==0||k==n) printf("0 0\n");
else{
while(1){
if(n<3&&k>0){
tot+=(n-k);
break;
}
else if(k>0){
tot+=2;
n-=3;
k-=1;
}
else if(k==0) break;
} printf("1 %d\n",tot);
}
return 0;
}

posted @ 2017-09-12 15:08  LMissher  阅读(228)  评论(0)    收藏  举报