题意: 用0到2^(n+m-1)这2^(n+m-1)个数填在一个2^n*2^m的矩阵里,使得所有相邻的数的二进制表示只有一位不同.Solution: Gray码。对于第i行第j列的数,由i的Gray码左移m位并上j的Gray码得到。#include using namespace std;int.....
分类:
其他好文 时间:
2015-03-09 20:36:39
阅读次数:
140
大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商场,不去逛公园,不去和AC男约会,两个人竟然猫在寝食下棋……
说是下棋,其实只是一个简单的小游戏而已,游戏的规则是这样的:
1、棋盘包含1*n个方格,方格从左到右分别编号为0,1,2,…,n-1;
2、m个棋子放在棋盘的方格上,方格可以为空,也可以放多于一个的棋子;
3、双方轮流走棋;
4、每一步可以选择任意一个棋子向左移动到任意的位置(可以多个棋子位于同一个方格),当然,任...
分类:
其他好文 时间:
2015-03-08 17:17:30
阅读次数:
171
移位操作右移--补符号位左移--全部补0右移一位相当于除以二并取整左移以为相当于乘以二端存储http://blog.csdn.net/favory/article/details/4441361101个数,50个出现了2次,1个出现了1次,求出此数。
分类:
其他好文 时间:
2015-03-08 17:05:55
阅读次数:
173
trl键组合ctrl+a:光标移到行首。ctrl+b:光标左移一个字母ctrl+c:杀死当前进程。ctrl+d:退出当前 Shell。ctrl+e:光标移到行尾。ctrl+h:删除光标前一个字符,同 backspace 键相同。ctrl+k:清除光标后至行尾的内容。ctrl+l:清屏,相当于clea...
分类:
系统相关 时间:
2015-03-06 16:48:33
阅读次数:
196
1.向量旋转将一个具有n个元素的一维向量左旋i位。1.1使用i个额外空间void left_rotate(string &s,int i){ string s2(s,0,i);//将前i个字符复制到s2 int j=0; //将剩余n-i个元素左移i个位置 for(;i ...
分类:
其他好文 时间:
2015-03-05 14:25:06
阅读次数:
203
int a1 = 12120000 0000 0000 11000000 0000 0001 1000----------------------等价于10进制24二-12的二进制1>12二进制0000 0000 0000 11002>取反1111 1111 1111 00113>加11111 11...
分类:
移动开发 时间:
2015-02-24 16:18:51
阅读次数:
180
题意:一个长度为N的01序列,会有N个不同的轮换(当然,字符相同,其中也可能会有相同的),将这N个不同轮换按字典序排
序,取排序后的每个轮换的最后一排,组成一个序列。题中给出压缩后的序列,求原始序列,输出的是字典序最小的那个序列。
思路:这题基于一个性质:在已经排序好的矩阵中,对于首位相同的两行,经过左移一位的操作后,形成的新的两行的先后次序不发
生改变。即:设i行在j行前面,i行左移一位变...
分类:
编程语言 时间:
2015-02-22 11:08:30
阅读次数:
193
先要了解一下C语言里全部的位运算都是指二进制数的位运算。即使输入的是十进制的数,在内存中也是存储为二进制形式。 “=0。 功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。 “>>”使用方法: 格式是:a>>m,a和m必须是整型表达式,要求m>=0。 功能:将整型数a按二进制位向右移动m...
分类:
编程语言 时间:
2015-02-22 10:58:59
阅读次数:
181
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例:Hello World!2输出样例:llo World!He#include #i...
分类:
其他好文 时间:
2015-02-10 21:34:26
阅读次数:
162
1、> 、>>的用法以及区别>(左位移):右移n位实际上相当于被2的n次方整除:for(inti=1;i<=n;i++)a=a / 2 ;<<=:a<<=1等价于a=a<<1,就是将a按位左移后将值赋值给aa<<1只是将a按位左移,并不改变a的值