题解

61 条题解

  • 0
    @ 2009-04-13 16:40:12

    1001个AC!YEAH!

  • 0
    @ 2009-03-26 18:01:53

    什么是格雷码?

  • 0
    @ 2009-01-02 20:30:53

    谁会想到格雷码啊?!比我的数列还奇怪。。。

  • 0
    @ 2009-01-02 20:19:13

    格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变).

  • 0
    @ 2008-12-17 12:33:36

    题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题

    题题题题题题题题题题题题题题题题题题题题题题题题题题题题水水水水题题题题题

    题题题题题题题题题题题题题题题题题题题题题题题题水水水水水水水水水题题题题

    题题题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题

    题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题题题

    题题题题题题题题题题题水水水水题水水水水水水水水水水水题题题题题题题题题题

    题题题题题题题题水水水水水水水题水水水题题水水水水水题题题题题题题题题题题

    题题题水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题

    题水水水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题

    题水水水水水水水水水水水水题题题题题题题水水水水水水水水水水水题题题题题题

    题水水水水水水水水水水水水题题题题题题水水水水水水水水水水水水水水题题题题

    题题水水水水水水水水水水题题题题题水水水水水水题题题水水水水水水水题题题题

    题题题题题题题题水水水水题题题题题水水水水题题题题题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题题水水题题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题

    题题题题题题题题水水水水题题题题水水水题题水水水水题题水水水水水题题题题题

    题题水水题题题水水水水水题题题题水水水题题水水水题题题水水水水水题题题题题

    题题水水水水水水水水水水题题题题题水水题题水水题题题题水水水水水题题题题题

    题题题水水水水水水水水水题题题题题题题题水水水题题题题水水水水题题题题题题

    题题题题题水水水水水水水题题题题题题题题水水水题水水水水题题题题题题题题题

    题题题题题题水水水水水水题题题题题题题水水水水题题水水水水题题题题题题题题

    题题题题题题题题题水水水题题题题题题水水水水水题题题水水水水水水水题题题题

    题题题题题题题题题题题题题题题题水水水水水水题题题题题水水水水水水题题题题

    题题题题题题题题题题题题题题题水水水水水水题题题题题题水水水水水水水题题题

    题题题题题题题题题题题题题题水水水水水题题题题题题题题题水水水水水水题题题

    题题题题题题题题题题题题题水水水水水题题题题题题题题题题题水水水水题题题题

    题题题题题题题题题题题题水水水题题题题题题题题题题题题题题题水水水题题题题

    题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题

  • 0
    @ 2008-12-01 20:54:24

    位运算掌握的不好,看了大牛的题解才会编,要好好学一下位运算了

  • 0
    @ 2008-11-13 08:50:58

    这题就绝囧圈,首先谁能想到二进制。。。其次谁能想到格雷码……BT...NPIP要是有这样的题...

  • 0
    @ 2008-11-11 11:30:38

    #include

    using namespace std;

    int fx(int m)

    {

    if (m == 0) return 0;

    else return m^fx(m/2);

    }

    int main()

    {

    int n;

    cin >> n ;

    cout

  • 0
    @ 2008-11-07 09:11:28

    咱壓根就不知道格雷碼是什麽東西 = =

    用四分法分啊~分啊~方向轉啊~轉啊~

    int64用啊~用啊~

    ACCEPTED了之後,看到樓下的LOLI程序,咱的心,碎了....

  • 0
    @ 2008-11-03 10:26:59

    pascal代码

    var i,x,y,j:longint;

    begin

    readln(x);

    for i:=30 downto 0 do

    begin

    y:=(x and (1 shl i))xor ((x and (1 shl(i+1)))shr 1);

    x:=x and not (1 shl i) or y;

    end;

    writeln(x+1);

    end.

  • 0
    @ 2008-10-31 20:46:09

    138字节的 C语言 代码

    #include

    int x,y;int main(int i){i-33?i++-1?y=x&1

  • 0
    @ 2008-10-30 20:59:09

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-10-30 20:18:07

    谁能证明下那个公式?就是那个F:=I XOR F[I DIV 2]????

  • 0
    @ 2008-09-26 20:42:24

    我用的是递推:

    f(n)=2*k+1-f(n-k) ,其中为小于n的最大2的幂

    如:f(7)=2*4+1-f(7-4)

    程序超级好写。

  • 0
    @ 2008-09-24 19:46:22

    这个数列是格雷码,因此我们要求格雷码的反函数。

    对于二进制数

    ___|\__|\__|\__|\__|\___|_

    an an-1 an-2 ... a1

    其格雷码为

    ___|\__|\__|\__|\__|\__|\__|\__|\__|\__|\__|\__|\__|\__|\__|__

    1 (an-1 xor an) (an-2 xor xn-1) ... (a1 xor a2)

    现在我们知道格雷码,从高位往低位扫

    如果这一位为1,那么这一位就等于(1-前一位)

    否则等于前一位。



    流程如下:

    1. 输入转二进制

    2. 从高往低扫并求逆

    3. 转10进制,+1,输出

  • 0
    @ 2008-09-12 15:38:17

    program pp;

    var b:array[1..10000000]of integer;

    a:array[0..10]of integer;

    n,i,j,k,g,h,s:longint;

    begin

    readln(n);

    k:=n;

    i:=0;

    a[6]:=5;

    a[7]:=6;

    a[5]:=7;

    a[4]:=8;

    a[1]:=2;

    a[0]:=1;

    a[3]:=3;

    a[2]:=4;

    if (n=5)or(n=4)or(n=6)or(n=7) then begin writeln(a[n]);halt;end;

    if (n=1)or(n=0)or(n=3)or(n=2) then begin writeln(a[n]);halt;end;

    repeat

    i:=i+1;

    b[i]:=k mod 2;

    if k mod 2 =0 then k:=k div 2

    else k:=(k-1) div 2;

    until (k=4)or(k=5)or(k=6)or(k=7);

    s:=a[k];

    for j:=i downto 1 do

    begin if s mod 2=0 then begin

    if b[j] =0 then s:=s*2

    else s:=s*2-1;

    end

    else begin

    if b[j]=0 then s:=s*2-1

    else s:=s*2; end;

    end;

    writeln(s);

    end.

  • 0
    @ 2008-09-12 10:48:02

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-09-09 20:06:21

    啥意思???????/

  • 0
    @ 2008-09-09 14:35:09

    先转化成2进制,在转换成格雷码,在转换成10进制。

    二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);

    格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变).

  • 0
    @ 2008-07-23 21:08:59

    好几次都受到了Yartimy的指点

    太感谢这位大牛了!!!!!!!!!!!1

信息

ID
1176
难度
2
分类
组合数学 点击显示
标签
(无)
递交数
1090
已通过
609
通过率
56%
被复制
7
上传者