51Nod-1837-砝码称重

ACM模版

描述

题解

根据题目中的样例解释,我们完全可以大胆的猜测,次数至多不超过两次,所以一共可能是 0、1、20、1、2 次,00 次很容易想就是 n=1n = 1 时,剩下的就是考虑需要一次的情况,只要考虑完一次的情况,自然就不需要再过多考虑二次的情况了,可是问题也就卡在了这里,貌似情况还挺不好想全的。

查看了官方题解,写的十分详细,贴给大家看看:

所以,这里除去考虑 00 次的情况,剩下只需要考虑 1、2、3、41、2、3、4 的情况,这些情况结果为 11,然后剩下的就是 22 了。当然,也可以只考虑 5、65、6 的情况喽……这个游戏真难。

代码

#include <iostream>
#include <cmath>

using namespace std;

typedef long long ll;

int main()
{
    ll n;
    while (cin >> n)
    {
        if (n == 1)
        {
            cout << 0 << endl;
            continue;
        }

        ll k = ((ll)sqrt(8 * n + 1) - 1) >> 1;
        ll s = k * (k + 1) >> 1;
        ll c = n * (n + 1) >> 1;
        ll d = (ll)sqrt(c) * (ll)sqrt(c);

        if (s == n || s + 1 == n || d == c || d + 1 == c)
        {
            cout << 1 << endl;
        }
        else
        {
            cout << 2 << endl;
        }
    }

    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

编写高质量代码的思考

最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样...

942
来自专栏码农分享

3.1、苏宁百万级商品爬取 思路讲解 商品爬取

https://ds.suning.cn/ds/generalForTile/000000010044087492_,000000000688241235_,0...

2272
来自专栏个人分享

Flink单机版安装与wordCount

Flink为大数据处理工具,类似hadoop,spark.但它能够在大规模分布式系统中快速处理,与spark相似也是基于内存运算,并以低延迟性和高容错性主城,其...

1241
来自专栏tkokof 的技术,小趣及杂念

随便再聊一点点Coroutine(确实只是一点点~)

  之前写过一点Coroutine相关的东西(这里和这里),大致讲了些自己关于Unity协程的理解,自己在平日的工作中也确实用到了不少相关的知识,遂而引发了一个...

891
来自专栏lgp20151222

java与模式读后总结

老规则边看边写书上的代码,磨磨蹭蹭三个多星期终于把一本1000+的java与模式看完了。

962
来自专栏牛客网

热乎乎的阿里面经,攒人品

一面: 1.自我介绍一下,然后问你最擅长哪一方面(我说虚拟机、集合) 2.他说HashMap我现在都不敢问了,出过很多笑话,很多人都是背的,自己没办法判断是看...

3485
来自专栏有趣的Python和你

千里之行,始于足下变量字符串

983
来自专栏牛客网

51信用卡前端凉面

1660
来自专栏Crossin的编程教室

【Python 第33课】 处理文件中的数据

我们已经知道了如何读取和写入文件。有了这两个操作文件的方法,再加上对文件内容的处理,就能写一些小程序,解决不少日常的数据处理工作。 比如我现在拿到一份文档,里面...

3378
来自专栏racaljk

关于llvm kaleidoscope: 记一次Debug血泪之路

简而言之,慎(bu)用(yong)全局变量!                                

1151

扫码关注云+社区