XTU-OJ 1187-Candy

WCB某天买了非常多的糖果并把它们分成N份,依次分别有1,2,3…,N个糖果。他想拿出其中的3份分给他的室友, 为了不让室友们闹意见,必须让这三份的糖果总数恰好能被三人均分。请问他一共有多少种不同的组合方案数?

输入

有多组输入数据,每组输入非负整数N(3≤N≤106),如果N=0,表示输入结束,这个样例不需要处理。

输出

每组数据输出一个整数独占一行,表示共有多少种方案,由于可能会很大,最后结果对109+7取模。

样例输入
3 
4 
5 
0
样例输出
1 
2 
4

解题思路:这题题目也说了就是一道排列组合题。 有哪些组合,可以让三份的糖果总数恰好能被三人均分?   

1:三份糖果 模3余数均为1 的 糖果;

2:三份糖果 模3余数均为2 的 糖果;

3:三份糖果 模3余数均为0 的 糖果;

4:一份糖果 模3余数为1 的 糖果 + 一份糖果 模3余数均为2 的 糖果 + 一份糖果 模3余数均为0 的 糖果。

最后对这4种情况的组合数求和就行了。   (注意取模 和 爆int )

AC代码:

#include <stdio.h>const int Mod = 1e9+7;
int compute(__int64 s){                         // 组合数公式 C(n,3)return (s*(s-1)*(s-2)/6) % Mod;
}int main()
{int n,N;__int64 x,y,z;__int64 ans1,ans2,ans3,ans;while (scanf("%d",&N) != EOF && N != 0){x = N/3;                                // x:3的倍数的 个数y = z = x;n = N%3;if (n == 1)         y += 1;             // y:模3余1的数 的个数else if (n == 2)    y += 1, z += 1;     // z:模3余2的数 的个数ans1 = compute(x);ans2 = compute(y);ans3 = compute(z);ans = (ans1+ans2+ans3+x*y*z) % Mod;printf("%I64d\n",ans);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/118637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习之查准率、查全率与F1

文章目录 查准率&#xff08;Precision&#xff09;&#xff1a;查全率&#xff08;Recall&#xff09;&#xff1a;F1分数&#xff08;F1 Score&#xff09;&#xff1a;实例P-R曲线F1度量python实现 查准率&#xff08;Precision&#xff09;&#xff1a; 定义&#xff1a; …

Linux命令记载

服务器基本操作 SSH登录服务器 ssh -p 端口号 用户名服务器IP sftp>get /usr/test.txtSFTP上传文件 #输入密码 #使用get命令下载远程服务器的文件&#xff0c;比如/usr/test.txt sftp>get /usr/test.txt#使用put命令上传本地文件到服务器&#xff0c;比如/usr/test1.t…

低概率Bug,研发敷衍说复现不到

测试工作中&#xff0c;经常会遇到一些低概率出现的问题&#xff0c;如果再是个严重问题&#xff0c;那测试人员的压力无疑是很大的&#xff0c;一方面是因为低概率难以复现&#xff0c;另一面则是来自项目组的压力。 如何在测试时减少此类问题的重复投入&#xff0c;我的思考如…

自研框架跻身全球 JS 框架榜单,排名紧随 React、Angular 之后!

前言 终于实现了一个重要目标&#xff01;我独立研发的 JavaScript 框架 Strve&#xff0c;最近发布了重大版本 6.0.2。距离上次大版本发布已经接近两个月&#xff0c;期间进行了大量的优化&#xff0c;使得框架性能和稳定性都得到了大幅度的提升。在上次的大版本更新中&#…

nodejs | js | ts | axios |下载远程链接图片

原理: 获取二进制流写入文件 import axios from axios; import fs from fs; export async function downloadImage(url: string, filename: string) {try {const response await axios.get(url, { responseType: stream });response.data.pipe(fs.createWriteStream(filename)…

css 两栏布局的实现

目录 前言 1. 浮动布局 用法 代码示例 理解 2. Flex布局 用法 代码示例 理解 3. Grid布局 用法 代码示例 理解 高质量的设计 前言 两栏布局是一种常见的网页设计模式&#xff0c;它将页面分为两个主要区域&#xff1a;主内容区域和侧边栏。这种布局方式不仅能够提…

天堂2游戏出错如何解决

运行游戏时出现以下提示&#xff1a;“the game may not be consistant because AGP is deactivated please activate AGP for consistancy” 这个问题的原因可能是由于您的显示卡的驱动或者主板的显示芯片组的驱动不是新开。或您虽然已经更新了您的显示卡的驱动程序&#xff0…

nodejs+vue城市轨道交通线路查询系统-计算机毕业设计

着社会的快速发展&#xff0c;计算机的影响是全面且深入的。社会生产水平的不断提高&#xff0c;日常生活中人们对备忘记账系统方面的要求也在不断提高&#xff0c;因特网的使用越来越广泛&#xff0c;而在众多的因特网中&#xff0c;万维网更是为人们带来了新鲜的体验。在这当…

在docker环境下从头搭建openvslam/orb_slam3的流程记录以及问题总结

文章目录 0. 前言1. MobaXterm软件2. docker操作2.1. 拉一个ubuntu镜像2.2. 修改名字&#xff08;可选&#xff09;2.3. 删除之前的docker镜像&#xff08;可选&#xff09; 3. openvslam搭建流程3.1. 起容器3.2. 前置包的安装3.3. 安装Eigen3.4. 安装opencv3.5. 安装DBoW23.6.…

MySQL——九、SQL编程

MySQL 一、触发器1、触发器简介2、创建触发器3、一些常见示例 二、存储过程1、什么是存储过程或者函数2、优点3、存储过程创建与调用 三、存储函数1、存储函数创建和调用2、修改存储函数3、删除存储函数 四、游标1、声明游标2、打开游标3、使用游标4、关闭游标游标案例 一、触发…

Flutter extended_image库设置内存缓存区大小与缓存图片数

ExtendedImage ExtendedImage 是一个Flutter库&#xff0c;用于提供高级图片加载和显示功能。这个库使用了 image 包来进行图片的加载和缓存。如果你想修改缓存大小&#xff0c;你可以通过修改ImageCache的配置来实现。 1. 获取ImageCache实例: 你可以通过PaintingBinding…

deeplearning4j训练推理案例2023——手写数字识别

文章目录 1.minist数据集2.依赖包3.手写数字训练与推理4. 扩展阅读deeplearning4j自带学习案例项目deeplearning4j-examples 1.minist数据集 下载链接 6W训练集&#xff0c;1W测试集 2.依赖包 主要是deeplearning4j、javacv的一些包&#xff0c;案例打出的jar包1.3G,pom来自…

超级强大!送你几款Linux 下终极SSH客户端

更多IT技术&#xff0c;请关注微信公众号:“运维之美” 超级强大&#xff01;送你几款Linux 下终极SSH客户端 1.MobaXterm2.Xshell3.SecureCRT4.PuTTY5.FinalShell6.Termius7.WindTerm 安全外壳协议&#xff08;Secure Shell&#xff0c;简称 SSH&#xff09;是一种网络连接协议…

【Gensim概念】02/3 NLP玩转 word2vec

第二部分 句法 六、句法模型&#xff08;类对象和参数&#xff09; 6.1 数据集的句子查看 classgensim.models.word2vec.BrownCorpus(dirname) Bases: object 迭代句子 Brown corpus (part of NLTK data). 6.2 数据集的句子和gram classgensim.models.word2vec.Heapitem(c…

【Docker】Docker数据的存储

默认情况下&#xff0c;在运行中的容器里创建的文件&#xff0c;被保存在一个可写的容器层里&#xff0c;如果容器被删除了&#xff0c;则对应的数据也随之删除了。 这个可写的容器层是和特定的容器绑定的&#xff0c;也就是这些数据无法方便的和其它容器共享。 Docker主要提…

智能井盖监测系统功能,万宾科技传感器效果

智能井盖传感器的出现是高科技产品的更新换代&#xff0c;同时也是智慧城市建设中的需求。在智慧城市建设过程之中&#xff0c;高科技产品的应用数不胜数&#xff0c;智能井盖传感器的出现&#xff0c;解决了城市道路安全保护着城市地下生命线&#xff0c;改善着传统井盖带来的…

责任链模式应用案例

前几天系统商品折扣功能优化&#xff0c;同事采用了责任链模式重构了代码&#xff0c;现整理如下。 一、概念 责任链模式是为请求创建一个处理者对象的链条&#xff0c;所有处理者&#xff08;除最末端&#xff09;都含有下一个对象的引用从而形成一条处理链&#xff0c;该模…

10月最新H5自适应樱花导航网站源码SEO增强版

10月最新H5自适应樱花导航网源码SEO增强版。非常强大的导航网站亮点就是对SEO优化比较好。 开发时PHP版本&#xff1a;7.3开发时MySQL版本&#xff1a;5.7.26 懂前端和PHP技术想更改前端页面的可以看&#xff1a;网站的前端页面不好看&#xff0c;你可以查看index目录&#x…

二、W5100S/W5500+RP2040树莓派Pico<DHCP>

文章目录 1 前言2 简介2 .1 什么是DHCP&#xff1f;2.2 为什么要使用DHCP&#xff1f;2.3 DHCP工作原理2.4 DHCP应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 …

vue项目中将html转为pdf并下载

个人项目地址&#xff1a; SubTopH前端开发个人站 &#xff08;自己开发的前端功能和UI组件&#xff0c;一些有趣的小功能&#xff0c;感兴趣的伙伴可以访问&#xff0c;欢迎提出更好的想法&#xff0c;私信沟通&#xff0c;网站属于静态页面&#xff09; SubTopH前端开发个人…