//时间超限,所以肯定是需要另一种方法去解决,单纯的模拟不太行
#include <iostream>
#include <algorithm>
using namespace std;
int a[1000000]={0};
int main()
{
int n,k,t;
cin>>n>>k>>t;
//初始化
int cycles=1;//循环次数
int increaseNum=0;//每次增长的数量
int unprocess=0;//增长后的数字
int sum=1;//栋栋说的数字的和
while(cycles<t)//循环t-1次
{
for(int i=0;i<n;++i)
{
if(cycles==1&&i==0)//起始数字为1
{
a[i]=1;
increaseNum++;
}
else
{
unprocess=a[(i+n-1)%n]+increaseNum;//下一个说的数字是上一个数字加上增加的数
if(unprocess<k)//判断这个数字是否小于k
a[i]=unprocess;
else
a[i]=unprocess-k;
increaseNum++;
if(i==0)//这个数字是栋栋说的就把这个数加起来
sum+=
蓝桥杯 数字游戏
最新推荐文章于 2023-01-24 17:52:17 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)