六年级.04.整点

题目描述
在石门中学的oj网站上有一条题目是这样的:
在一条数轴上,从0至N共有N+1个整点,分别是:0,1,2,3,4,...N。有K头奶牛,每头奶牛选择一个整点作为它们的家,但它们不能选择相同的整点。为了方便联络,住得最远的那两头奶牛的距离必须等于D。问有多少种不同的方案?
出题人觉得这题不错,于是把这题给大家做,但为了降低难度,于是把上面的题目做了一个改变:K=3,即只有3头奶牛。

输入格式
一行,两个正整数,N 和 D。

数据范围

  • 对于50%的数据, 1<=N<=100,2<=D<=N。
  • 对于100%的数据,1<=N<=500000,2<=D<=N。

输出格式
一个整数。

样例

输入数据 1

2 2

Copy

输出数据 1

6

Copy

输入数据 2

5 3

Copy

输出数据 2

36

Copy

输入数据 3

500000 20000

Copy

输出数据 3

57597239994

Copy

样例解释
样例 1 说明:

  • 方案1:奶牛A选择整点0,奶牛B选择整点1,奶牛C选择整点2。
  • 方案2:奶牛A选择整点0,奶牛C选择整点1,奶牛B选择整点2。
  • 方案3:奶牛B选择整点0,奶牛A选择整点1,奶牛C选择整点2。
  • 方案4:奶牛B选择整点0,奶牛C选择整点1,奶牛A选择整点2。
  • 方案5:奶牛C选择整点0,奶牛A选择整点1,奶牛B选择整点2。
  • 方案6:奶牛C选择整点0,奶牛B选择整点1,奶牛A选择整点2。

温馨提示
答案可能较大,建议读入的变量N、D以及程序中你用到的其他变量,都定义为long long类型。

#include<bits/stdc++.h>//嘿嘿~
using namespace std;//嘿嘿~
long long n,m,s;//嘿嘿~
int main(){//嘿嘿~
    cin>>n>>m;//嘿嘿~
    for(int i=0;i<=n-m;i++){//嘿嘿~
		s+=(m-1)*6;//排列组合剩下的两个数
	}//嘿嘿~
    cout<<s;//嘿嘿~
    return 0;
}

Nito.AsyncEx 是一个.NET异步编程扩展库,它提供了一系列方便的扩展方法和封装类来简化异步代码的编写。其中,整点循环可能是指周期性执行异步任务的一种方式,不过在标准的Nito.AsyncEx库中并没有直接名为“整点循环”的功能。 不过,Nito.AsyncEx提供了`AsyncTimer`类,可以用来周期性地执行异步操作。你可以使用它来设置一个循环,周期性地执行某些异步任务。以下是一个简单的例子来说明如何使用`AsyncTimer`: ```csharp using System; using System.Threading.Tasks; using Nito.AsyncEx; public class AsyncTimerExample { private readonly AsyncTimer _timer; private readonly AsyncManualResetEvent _stopEvent; public AsyncTimerExample() { _stopEvent = new AsyncManualResetEvent(false); _timer = new AsyncTimer(async (token) => { // 这里是周期性执行的异步任务 Console.WriteLine("周期性任务执行中..."); // 如果需要停止定时器,可以等待停止事件 await _stopEvent.WaitAsync(token); // 这里可以做一些清理工作 Console.WriteLine("定时器停止"); }, TimeSpan.FromSeconds(1)); // 设置周期为1秒,实际使用时可以设置为一个小时 } public async Task StartTimerAsync() { await _timer.StartAsync(); Console.WriteLine("定时器开始运行"); // 模拟运行一段时间后停止定时器 await Task.Delay(TimeSpan.FromMinutes(5)); _stopEvent.Set(); } } ``` 在上面的代码中,`AsyncTimer`的构造函数接受两个参数:一个异步委托和一个`TimeSpan`对象,分别用于定义定时执行的任务和执行周期。`AsyncManualResetEvent`用于在适当的时候停止定时器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值