首页 > 其他分享 >10.10 b站经验增长

10.10 b站经验增长

时间:2023-10-13 23:12:21浏览次数:33  
标签:count aday 经验 硬币 增长 long 10.10 coin 经验值

小蒲非常喜欢刷b站,天天都去刷,作为2017年才加入b站的萌新,白嫖了好多年,积攒了上千的硬币,以至于他现在才5级,于是他想要快速积攒经验,众所周知,每天b站会给登录用户1枚硬币,1枚硬币的经验值为10经验值,每天最多可以投5枚硬币获得经验值,也就是每一天可以通过投币最多获得50经验,他想要以最快的方式通过投币获得最多的经验,直到他的硬币数为0时停止投币,请问他这期间能获得的经验值为多少,经过了多少天?

输入格式:

第一行输入一个整数T,代表数据的组数

接下来的T行,每一行有一个整数n,代表他今天拥有的硬币数(已经获得当天的奖励硬币)

输出格式:

输出T行,每一行两个数a,b,a代表他所获得的经验值,b代表经过了多少天。

输入样例:

1
6

输出样例:

70 2

第一天:他拥有6枚硬币,他投5枚,获得了50点经验值。

第二天:奖励一枚硬币,他拥有2枚硬币,他投2枚,获得了20点经验值,剩余0枚硬币。

 

在第一次写这个代码的时候,采取的方法只是循环嵌套,以为这样可以少思考一下,结果发现运行超时,最后采用下面算法,,少了一个嵌套的循环,大大节约了运行时间。

 

#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main()
{
    long long int n;
    cin >> n;
    long long int count_coin;
    for (long long i = 0; i < n; i++)
    {
        cin >> count_coin;
        long long int get_ = 0, day = 0,aday = 0;
        /*while (count_coin != 0)
        {
            if (day != 0)count_coin++;
            if (count_coin >= 5)
            {
                count_coin -= 5;
                get_ += 5 * 10;
                day++;
            }
            else
            {
                get_ += count_coin * 10;
                count_coin = 0;
                day++;
            }
        }*///运行超时
        int flag = 1;
        while (1)
        {
            if (count_coin >= 5)
            {
                aday = count_coin / 5;
                day += aday;
                count_coin -= 5 * aday;
                if(flag)count_coin += aday - 1;
                else count_coin += aday;
                get_ += aday * 50;
                flag = 0;
            }
            else
            {
                day++;
                if (!flag) count_coin++;
                get_ += count_coin * 10;
                break;
            }
        }
        cout << get_ << " " << day;
        if (i != n - 1) cout << endl;
    }
}

 

 

标签:count,aday,经验,硬币,增长,long,10.10,coin,经验值
From: https://www.cnblogs.com/luoqingci/p/17763497.html

相关文章

  • UOB 的一些做题经验(开坑)
    得到生成函数的封闭形式之后,我们一般有两种方法:应用组合数公式,比如牛顿二项式定理;应用拉格朗日反演。在多维的生成函数中,通常可以把一维认为固定。对生成函数求(偏)导可以赋上系数,然后或许可以不关心这一维。(比方说令其为\(1\))......
  • 10.10
    数据库还是没连上在500和404之间反复横条,最后发现web.xml里没写东西的问题所以没法调用servletj解决之后以为完事了,因为输入错误信息都能报出是错的,发现输入正确的在数据库看不到,因为导包的mysql包不太对,还有导入的包放错位置了,现在解决了已经提交了 ......
  • Slime Escape (CF D) (贪心, 双指针最大有效权值单调增长)
     补充:每次操作可以往左或者右走一步 思路:性质:以一边为重点使劲走,然后利用另外一边来给自己权值变大当这边要死了,就把这边回退到最大值,在走另一边,看另一边能到哪,这样每次都可以扩展最大值,于是利用双指针?也不是双指针,就是l,r分别贪心地向左和......
  • Prompt Engineering学习经验
    参考 https://www.promptingguide.ai/zh1.清除之前对话上下文的干扰新任务,不考虑之前的问答内容2.增加上下文信息,指定结果列表###上下文信息####游戏列表#王者荣耀,别名[王者]和平精英,别名[和平、pubg]LOL原神明日之后金铲铲之战,别名"金铲铲"QQ飞车3.通过指......
  • 【交付高质量,用户高增长】-用户增长质量保证方法论 | 京东云技术团队
    前言俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康状况,却不能靠量体温治病。同时,需求交......
  • SQL Server 2005 和自增长主键identity说再见——NEWSEQUENTIALID()(转载)
    SQLServer2005和自增长主键identity说再见——NEWSEQUENTIALID()(转载) 在SQLServer2005环境下,表的主键应该怎样设计.目前主要用到的主键方案共三种:自动增长主键手动增长主键UNIQUEIDENTIFIER主键1、先说自动增长主键,它的优点是简单,类型支持bigint.但是它有致命的......
  • 【交付高质量,用户高增长】-用户增长质量保证方法论
    前言俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康状况,却不能靠量体温治病。同时,需求......
  • 2023.10.10 js.Array和js.String
    1定义数组21.vararr=newArray{1,2,3,4...};32.vararr=[1,2,3,4];4访问5arr[索引]=值67同一数组的类型可变,长度可变。89Array中的属性和方法10arr.length//获取数组长度11forEach()遍历数组中的每个有值的元素,并调用一次传入的函数12arr......
  • 10.10随笔
    →信条部分早起晚睡2/88,+0举止厚重13/360,,+1穴位按摩4/30,+1每日反省1/90,+0→学习部分[√]单词1872/2251仅余14天[√]跑步78/80km仅余1天→项目进度科一已过,周四开始准备科二。首先记录一首歌:郭源潮,不全能懂,但很有感觉,风月难舍,离合不骚。以前也听过这首歌,但......
  • 大二打卡(10.10)
    今天做了什么:数据结构,今天是稍微复习二叉树,然后学了二叉树的代码实现,以及二叉树的遍历,马原,矛盾统一,乱七八糟,感觉好多概念都很相似,但都有很奇怪的点是不同的,哲学真复杂,白话文小说,今天知道了西游记的发展变化和开篇西行起因,有意思,还跟朱棣有关系今天遇到了什么问题:建民老师的测试......