题目: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的更多相关文章

  1. NYOJ:题目529 flip

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 由于此题槽点太多,所以没忍住...吐槽Time: 看到这题通过率出奇的高然后愉快的进 ...

  2. 【志银】NYOJ《题目524》A-B Problem

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...

  3. 【志银】NYOJ《题目860》又见01背包

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 方法一:不用滚动数组(方法二为用滚动数组,为方法一的简化) 动态规划分析:最少要拿总 ...

  4. 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结

    (软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...

  5. 【志银】MySQL命令总结

    ===0-MySQL密码设置===0.1-登入和进入MySQL数据库: 0.1.1-登入MySQL数据库:C:\Users\Administrator>mysql -u用户名 -hMySQL服务 ...

  6. 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)

    ★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...

  7. 【志银】NYOJ《题目490》翻译

    1.题目:翻译 1.1.题目链接 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=490 1.2.题目内容 2.解题分析 题目输入输出格式描述不 ...

  8. NYOJ题目1080年龄排序

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtMAAAJVCAIAAACTf+6jAAAgAElEQVR4nO3dO1Lj3NbG8W8Szj0QYg ...

  9. nyoj 题目2 括号配对问题

    描述 今天发现了nyoj,如获至宝.准备开刷. 括号配对问题 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的 ...

随机推荐

  1. 剑指offer17 合并两个排序的链表

    错误代码: 最后两个if语句的目的是,最后一次迭代,两个链表中剩下的直接连接最后一次比较的数值,同时也是迭代停止的标志.虽然大if语句中比较大小得到的Node是正确的值,但每次迭代只要pHead2不为 ...

  2. MySQL游标(cursor) 定义及使用

    概念 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式. 用SQL语言从数据库中检索数据后,结果 ...

  3. rnn,lstm and JuergenSchmidhuber

    JuergenSchmidhuber 是瑞士的一位牛人,主要贡献是rnn, lstm. google的deep mind新作,Human-level control through deep rein ...

  4. io与Nio的区别及实用场景

    https://blog.csdn.net/wodeyuer125/article/details/39475207

  5. Redux初识

    1.定义规则counter 2.根据计算规则生成store let store=createStore(counter); 3.订阅消息(state 发生变化后发送消息) 4.触发规则,使state发 ...

  6. System.gc()日志分析

    打开日志:运行配置---XX:+PrintGCDetails 示例程序: package com.test; public class Test { private Object instance = ...

  7. python——input()函数

    在使用input()内置函数输入数字时,要注意一点: input()的返回值始终是字符串,所以type(number)永远是<class 'str'>! 如: >>> t ...

  8. G - Dreamoon and NightMarket Gym - 101234G 优先队列+思路

    题目:题目链接 题意:给出n种食物,食物有自己的价格并且可以自由搭配,每天吃之前没吃过的花费最少的搭配,问第k天的花费. 思路:第k小我们考虑用优先队列处理,虽然n比较大,但由于1 ≤ K ≤ min ...

  9. requests--etree--xpath

    # -*- coding: cp936 -*- import requests from lxml import etree url = 'https://weibo.cn/pub/' html = ...

  10. 大话CNN经典模型:VGGNet

       2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC20 ...