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
题目:flip 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 吐槽Time: 由于此题槽点太多,所以没忍住... 看到这题通过率出 ...
- NYOJ题目1080年龄排序
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtMAAAJVCAIAAACTf+6jAAAgAElEQVR4nO3dO1Lj3NbG8W8Szj0QYg ...
- nyoj 题目2 括号配对问题
描述 今天发现了nyoj,如获至宝.准备开刷. 括号配对问题 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的 ...
- NYOJ题目27水池数目
--------------------------------------------- 这道题有点坑,也怪我总是有点马虎,按照正常人的思维0是表示有水池啊竟然是1表示有水池,最坑的是写反了竟然还能 ...
- NYOJ题目20吝啬的国度
-----------------------------------------n-1条边的无向连通图是一棵树,又因为树上两点之间的路径是唯一的,所以解是唯一的.(注意并不一定是二叉树,所以最好采用 ...
- NYOJ题目28大数阶乘
-------------------------------------祭出BigInteger AC代码: import java.math.BigInteger; import java.uti ...
- NYOJ题目198数数
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsYAAAK1CAIAAABEvL+NAAAgAElEQVR4nO3drXLkurvv8X0T4bmQYF
- NYOJ题目170网络的可靠性
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAs8AAANvCAIAAACte6C6AAAgAElEQVR4nOydPbLcNhOu7yaUayGOZy
- NYOJ题目168房间安排
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAAOTCAIAAADGwNmiAAAgAElEQVR4nOy9PY7cyLPufTchXwsZu9
随机推荐
- vmware 无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件
点击“开始→运行”,在运行框中输入 CMD 回车打开命令提示符,然后依次执行以下命令. net start vmci net start vmx86 net start VMnetuserif sc ...
- ubuntu-15.10-server-i386.iso 安装 Oracle 11gR2 数据库
注意: ld的版本为 2.25.1,gcc版本为gcc-5 特点: 需要重新安装老版本的 libaio1_0.3.109-2ubuntu?_i386.deb.默认的libaio库有问题,和其默认lib ...
- c#上iOS apns p12文件制作记录
1.在桌面上建一个"apns_p12"文件夹,所有的保存和生成文件都放在这里 2.从钥匙串中生成CertificateSigningRequest.certSigningReque ...
- 一次流量稍高导致web项目慢的问题&解决
项目上线后,用户越来越多,有一天出现一个issue:用户访问特别慢. 首先介绍下架构: haproxy/Nginx / \ node1 node2 | | redis redis(slave) | | ...
- 『WPF』实现拖动文件到窗体(控件)
前言 实现从窗口外部拖文件到窗口内部并自动捕获文件地址. 第一步 开启属性 启用底层Window的AllowDrop属性,添加Drop事件. Drop事件:当你拖动文件到对应控件后,松开触发. 除Dr ...
- 从逆向的角度去理解C++虚函数表
很久没有写过文章了,自己一直是做C/C++开发的,我一直认为,作为一个C/C++程序员,如果能够好好学一下汇编和逆向分析,那么对于我们去理解C/C++将会有很大的帮助,因为程序中所有的奥秘都藏在汇编中 ...
- VS2010 发布web项目 问题
载:http://www.cnblogs.com/shaocm/archive/2012/08/10/2632116.html
- [CS231n-CNN] Image classification and the data-driven approach, k-nearest neighbor, Linear classification I
课程主页:http://cs231n.stanford.edu/ Task: Challenges: _________________________________________________ ...
- 编写高质量JS代码的68个有效方法(七)
[20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 你不知道的javascript
一.对象 JavaScript简单类型有数字.字符串.布尔值.null.undefined,其他所有的值都是对象(数组.函数.正则表达式都是对象). 数字.字符串.布尔值虽然拥有方法(包装对象),但并 ...