【志银】NYOJ《题目529》flip
题目:flip
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529

吐槽Time:
由于此题槽点太多,所以没忍住...
看到这题通过率出奇的高然后愉快的进来想水掉...but...
一开始狂百度找讨论区也完全看不懂题意啊,
还好后来通过这些零碎的线索补脑了下面的题意,
能AC但不很确定484题目本意,希望对大家有帮助(话说这样会不会帮倒忙啊^_^).
题目意思:
要通过x的二进制的任意位置上的数(0变为1,或1变为0)使十进制的x变为x+1, 一次只能改变二进制的x的一位,求最少需要的次数.哈哈!
解题思路:
通过人工打草稿的方法加上手指和快速的心算在纸上(这算神马算法0.0)算出了1~5的结果,过程简单描述如下
1(0001) ->0011->0010 ->2(0010)=>变2次
2(0010) ->0011 ->3(0011)=>变1
3(0011) ->0111->0110->0100 ->4(0100)=>变3
4(0100) ->0101 ->5(0101)=>变1
5(0101) ->0111->0110 ->6(0110)=>变2
哈哈,得到规律:x的二进制数从1开始从右往左数第一个0的位置是几就最少需要改变几次。
(ps:话说这么长的原理连自己都觉得有点像说了和没说一样)
(规律原理:最少改变次数为x的二进制加1后包括进位所改变的位置数,二进制加1的进位改变停止于x的二进制数从右往左数第一个0的位置.)
我去,终于可以写代码了..最近漫画看多了,不知不觉吐了这么多槽,这么难得不能浪费得写到博客里去,哈哈哈哈
//对于我这种单纯boy来说还是来段我的简单走心的暴力法吧,超时什么的咱不怂,哈哈,(提交后AC的说,嘿嘿)
#include<iostream>
using namespace std;
int main() {
int T, x, n;
cin >> T;
while(T--) {
cin >> x;
n = 0;
int y = x%2;
do {
y = x%2;
x /= 2;
n++;
} while(y != 0);
cout << n << endl;
}
}
开始写于:2016.9.9 ----志银
【志银】NYOJ《题目529》flip的更多相关文章
- NYOJ:题目529 flip
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 由于此题槽点太多,所以没忍住...吐槽Time: 看到这题通过率出奇的高然后愉快的进 ...
- 【志银】NYOJ《题目524》A-B Problem
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...
- 【志银】NYOJ《题目860》又见01背包
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 方法一:不用滚动数组(方法二为用滚动数组,为方法一的简化) 动态规划分析:最少要拿总 ...
- 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结
(软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...
- 【志银】MySQL命令总结
===0-MySQL密码设置===0.1-登入和进入MySQL数据库: 0.1.1-登入MySQL数据库:C:\Users\Administrator>mysql -u用户名 -hMySQL服务 ...
- 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)
★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...
- 【志银】NYOJ《题目490》翻译
1.题目:翻译 1.1.题目链接 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=490 1.2.题目内容 2.解题分析 题目输入输出格式描述不 ...
- NYOJ题目1080年龄排序
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtMAAAJVCAIAAACTf+6jAAAgAElEQVR4nO3dO1Lj3NbG8W8Szj0QYg ...
- nyoj 题目2 括号配对问题
描述 今天发现了nyoj,如获至宝.准备开刷. 括号配对问题 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的 ...
随机推荐
- CoreData的学习
第一步:创建项目是勾选coredata,当然创建的时候没有勾选,之后还可以手动生产, 然后:创建数据库模型,及为其添加模型的属性. 然后生成模型文件: 注意⚠️:首先设置为Manual/None 不 ...
- C++STL之vector向量容器
vector向量容器 vector向量容器不但能向数组一样对元素进行随机访问, 还能在尾部插入元素 vector具有内存自动管理的功能, 对于元素的插入和删除, 可动态调整所占的内存空间 vect ...
- css3中的 @Keyframes
一.介绍 keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以“@keyframes”开头,后面跟着是动画名称加上一对花括号“{…}”,括号中是一些不同时间段样式规则. ...
- app上线
不管第一次还是第二次APP上线都需要三样东西:开发者证书,appID,描述文件
- django ORM单表操作
1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ...
- 第二天了,由于博主太分心了,看看就跑去研究了一下ssh和ufw以及nmap,现在急需记录一下啦,哈哈!
昨天看到了视频的ssh远程连接,因为我点电脑上装的是一个ubuntu的虚拟机,我根据视频看了一下,自己又试用了一下,我发现自己的ubuntu是能够远程到自己的Mac电脑上,一开始主要是因为自己不能连接 ...
- Fetch 头像剪切修改
前言:通过Input file upload 图片到canvas 中进行剪裁,react 可以引入react-avatar-editor对图片进行剪裁 react-avatar-editor的使用 & ...
- mysql指定id默认第一
有个需求 家庭创建人要默认排第一,刚开始用加入家庭的时间排序可以 好简单, 后来加了一个需求 家庭创建人可以转移,结果按时间排序就不行了,又不想去写循环重新排序 就各种百度, 等于就是指定ID排最后 ...
- LeetCode969. 煎饼排序
问题:969. 煎饼排序 给定数组 A,我们可以对其进行煎饼翻转:我们选择一些正整数 k <= A.length,然后反转 A 的前 k 个元素的顺序.我们要执行零次或多次煎饼翻转(按顺序一次接 ...
- tcl之正则表达式