当前位置: 首页 > article >正文

小红的小球染色期望

B-小红的小球染色_牛客周赛 Round 79

题目描述

本题与《F.R小红的小球染色期望》共享题目背景,但是所求内容与范围均不同,我们建议您重新阅读题面。

有 n 个白色小球排成一排。小红每次将随机选择两个相邻的白色小球,将它们染成红色。小红将持续这个操作,请你计算小红操作次数可能的最小值和最大值。

输入描述:

在一行上输入一个正整数 n (1 ≤ n ≤ 10^9) 代表小球数量。

输出描述:

在一行上输出两个正整数,代表小红操作次数可能的最小值和最大值。

输入描述:
在一行上输入一个正整数 n (1 ≤ n ≤ 10^9) 代表小球数量。

输出描述:
在一行上输出两个正整数,代表小红操作次数可能的最小值和最大值。

示例1
------
输入
-----
3

输出
-----
1 1

说明
-----
在这个样例中,第一次选取,一共有两种不同的选取情况:
● 选中第一、二个球;
● 选中第二、三个球。
不管是哪一种选法,染完颜色后均无法继续操作。所以小红能且仅能操作一次,操作次数最小值为 1。

示例2
------
输入
-----
4

输出
-----
1 2

说明
-----
在这个样例中,第一次选取,一共有三种不同的选取情况:
● 选中第一、二个球;
● 选中第二、三个球;
● 选中第三、四个球。
其中,第二种选取方式染色后无法继续操作;而第一、三种选取方式染色后还可以进行一次染色。

思路:

最大值很明显就是n/2,最小值找规律即可如图:

我们可以看见,n/3+(n%3 == 2)就是最小值

代码如下:
 

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
ll n;
int main() 
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> n;
	ll maxn,minn;
	maxn = n/2;
	ll t = n % 3;
	if(t == 2)
	minn = n/3+1;
	else
	minn = n/3;
    
	cout << minn << " " << maxn;
	
    return 0;
}


http://www.kler.cn/a/529778.html

相关文章:

  • python学opencv|读取图像(五十三)原理探索:使用cv.matchTemplate()函数实现最佳图像匹配
  • 如何使用SliverList组件
  • 【C语言指针】指针和函数
  • 【Quest开发】手柄单手抓握和双手抓握物体切换
  • DFS(深度优先搜索)与回溯算法详解
  • 从巫师求雨说起
  • 武汉科技大学计算机课程设置,武汉科技大学计算机控制与接口技术课程实施方案
  • 笔灵ai写作技术浅析(四):知识图谱
  • 代理模式——C++实现
  • MVC 文件夹:架构之美与实际应用
  • 从零开始:用Qt开发一个功能强大的文本编辑器——WPS项目全解析
  • 在K8S中,pending状态一般由什么原因导致的?
  • 苹果CMSV10仿茶杯狐自适应视频模板源码 PC+WAP自适应视频模板
  • 【Qt】界面优化
  • day37|完全背包基础+leetcode 518.零钱兑换II ,377.组合总和II
  • 记录 | 基于MaxKB的仿小红书旅游文章AI制作(含图文、视频)
  • 边缘检测算法(sobel)
  • redis集群理论详解
  • 安卓pad仿写element-ui表单验证
  • 关于合并两个有序链表
  • STM32CUBEIDE编译的hex使用flymcu下载后不能运行
  • Ubuntu 22.04系统安装部署Kubernetes v1.29.13集群
  • JavaScript系列(54)--性能优化技术详解
  • c语言(关键字)
  • Android 13 取色引擎详解
  • 每日 Java 面试题分享【第 19 天】