每日牛客一解

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述


清明节到了,由于你仍然 孑然一身,所以你打算去种树,你面前一共有 n 棵树排成一排,从左到右编号为 1,2,3,⋯ 
定义两棵树 u,v 的距离为 |u-v|,你想知道有多少棵树 u,满足它到所有树的最远距离最小

输入描述:

第一行一个整数 n

输出描述:

一行一个整数表示答案

示例1

输入

1

输出

1
#include 

using namespace std;
int main(){
    int n;
    cin >> n;//输入一个数,表示树的个数
    if (n % 2 == 0){
        cout << 2;//如果树的个数是偶数,那么中位数有两个
    }
    else if(n % 2 != 0){
        cout << 1;//如果树的个数是奇数,那么中位数只有一个
    }
    return 0;
}

本题目问的是离所有树木最近的树的个数,就是最中间的树木的个数,这个问题转化成数学问题就是算中位数的个数,偶数是两个中位数,奇数是一个中位数,结果就是如上所写。

你可能感兴趣的:(牛客,c++,算法,c++,数据结构)