ACM模版

描述

题解

这个题,简单的来,就是暴力打表找规律,注意一点, sqrt() sqrt() 可能存在精度问题,最好自己写一个二分的,因为这个, WA WA 了四回……

官方题解也给大家分享一下,写得挺详细的:

代码

#include <cstdio>using namespace std;typedef long long ll;const ll INF = 1e10;    //  ll 开方后约为 1e9ll x, k;ll sqrt(ll x)
{ll l = -1, r = INF, m;while (r - l > 1){m = (l + r) >> 1;if (m * m > x){r = m;}else if (m * m < x){l = m;}else{return m;}}return l;
}int main()
{int T;scanf("%d", &T);while (T--){scanf("%lld%lld", &x, &k);if (x == 0){printf("0\n");continue;}ll y = sqrt(x);if (k == 1){if (x == 1){printf("1\n");continue;}if (y * y == x){printf("%lld\n", y * 2 - 1);}else{printf("%lld\n", y * 2);}}else{if (x == 1 || x == 3){printf("-1\n");}else if (x == 2){printf("1\n");}else if (x == 5){printf("3\n");}else{ll t = sqrt(x - 1);if (y * y == x || t * t == x - 1){printf("%lld\n", y * 2 - 2);}else{printf("%lld\n", y * 2 - 1);}}}}return 0;
}

51Nod-1859-Clarke and number相关推荐

  1. 计蒜客/51Nod题目

    题目 换位置(1) 链接https://nanti.jisuanke.com/t/T1971 思路:两两交换次序使得数组逆序,第一个到最后位置需要n-1步,第二个到倒数第二个需要n-2步,第三个到倒数 ...

  2. 【HDU - 5627】Clarke and MST(最大生成树,与运算性质,最小生成树MST变形)

    题干: Clarke is a patient with multiple personality disorder. One day he turned into a learner of grap ...

  3. 【POJ】2676-Sudoku 【51Nod】1211-数独(DFS)

    [POJ]2676-Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 25200 Accepted: 11782 Sp ...

  4. 51Nod1631 小鲨鱼在51nod小学

    1631 小鲨鱼在51nod小学 1 秒 131,072 KB 20 分 3 级题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务. 每一 ...

  5. 51nod 1617 奇偶数组

    传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...

  6. input属性为number,maxlength不起作用的解决方案

    <input type="text" maxlength="11" /> 效果ok, 当 <input type="number&q ...

  7. ORA-19502: write error on file xxxxx, block number xxxx

    错误现象: 在ORACLE 10g下为表空间IGNITE_EGVSQL01增加数据文件时,报如下错误: SQL> ALTER TABLESPACE IGNITE_EGVSQL01      AD ...

  8. LeetCode刷题记录10——434. Number of Segments in a String(easy)

    LeetCode刷题记录10--434. Number of Segments in a String(easy) 目录 LeetCode刷题记录9--434. Number of Segments ...

  9. HDU 1711 Number Sequence(KMP算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/ ...

  10. LeetCode 191 Number of 1 Bits

    LeetCode 191 Number of 1 Bits 解法一(较为传统都解法):使用将n不断右移,并与1想&得到1的个数:(也有使用除法/2的,明显除法的运行效率要低于位移) 时间复杂度 ...

最新文章

  1. jcifs java_Java 使用JCIFS访问网络文件共享的工具类
  2. 日期格式校验方法工具
  3. Mybatis源码解析-sql执行
  4. 老男孩教育50期左婷婷-day03-xhell连接服务器-远程连接排错-基础命令
  5. mysql upload_关于mysql数据库里的 upload子查询问题
  6. 数据结构与算法--2.数组的定位排序
  7. pyjion python3.6_pyjion python3.6
  8. 超级计算机操作系统有什么不同,超级计算机功能强大吗?它与普通计算机不同,但也使用Windows系统...
  9. echarts grid的样式位置_CSS Grid 系列(下)-使用Grid布局构建网站首页
  10. XRDP与VNC的关系
  11. 张开涛 shiro 博客地址
  12. ISO9001:2015新版质量管理体系标准时间表
  13. 清华计算机系与姚班,清华“姚班”,计算机专业学子们无比向往的班级
  14. Nginx常用rewrite跳转重定向实例
  15. Linux云计算架构师:SSHD服务搭建管理和防止暴力破解
  16. 英语期刊写作-通往国际学术舞台的阶梯第八,九章答案
  17. 华为云CDN,是怎样拯救你的等待焦虑症
  18. 大一计算机word作业朱自清,Word文档打字练习.docx
  19. 计算机修复无法启动怎么还原,电脑无法开机时如何恢复系统?
  20. java nio attachment_7. 彤哥说netty系列之Java NIO核心组件之Selector

热门文章

  1. SSL 1231 容易的网络游戏
  2. python汽车租赁程序_python数据分析实例:共享单车租用影响因素探索
  3. laravel 使用队列进行微信模板消息的群发
  4. 学习笔记-echarts自定义背景图片
  5. 国开教育学形考任务2试题1试题及答案
  6. 《无尽战神》隐私政策
  7. mysql auto increment 插入_MySQL里AUTO_INCREMENT表里插入0值的问题
  8. 华硕笔记本BIOS设置u盘启动图文详解
  9. 学习C语言:自幂数最通俗讲解
  10. 查看分区表linux,通过lsblk命令查看分区表