题解

99 条题解

  • 0
    @ 2009-09-04 16:52:59

    原因当尾数都是(2,3,7,8)时A必输,是因为

    2+8=10 3+7=10

    所以无论A如果处理10i+a B都可以将他转化为必败状态

    这句话很受启发。

    看题解的,惭愧啊。

  • 0
    @ 2009-08-29 10:25:37

    考虑两个数的个位 若都等于2/3/7/8之一则Shadow赢 否则Matrix67赢

  • 0
    @ 2009-08-19 21:54:57

    好想用C++,各位大牛真是……唉,差距啊

  • 0
    @ 2009-08-15 17:10:37

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    惭愧!

    我自己没想出来!

    o(╯□╰)o

    谢谢各位大牛的题解!

  • 0
    @ 2009-08-12 14:30:29

    绝对不止10000位!

    如果用数组存的话会wa最后三个点 我开了50000才过的

    两颗半星了 纪念下

  • 0
    @ 2009-08-10 15:46:39

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    好数学啊!

  • 0
    @ 2009-08-06 17:04:54

    1.读进两个字符串;

    2.分别求末位数字除以五的余数,得到a,b;

    3.如果(a=2或a=3)并且(b=2或b=3) Shadow赢;

    否则 Matrix67赢;

  • 0
    @ 2009-08-06 15:08:42

    猫咪happy,sb啊你

  • 0
    @ 2009-08-04 23:15:54

    #include

    #include

    using namespace std;

    int main()

    {

    char m[1001],n[1001];

    for(int i=1;i>m>>n;

    int a=m[strlen(n)-1];

    int b=n[strlen(m)-1];

    if((a=='2'||a=='3'||a=='7'||a=='8')&&(b=='2'||b=='3'||b=='7'||b=='8'))

    cout

  • 0
    @ 2009-08-04 08:23:06

    Matrix67 打成Matri67错一回

    string忘了改成ansistring 70分

  • 0
    @ 2009-07-31 20:10:39

    2 3 7 8的确有道理不过分析起来费事

    最后一个数除以5的余数位0 1 4我还不知道为啥就M WOM?

    由2 3 7 8 推导出来倒是这样

    的确是畅饮农夫山泉甜美

  • 0
    @ 2009-07-31 10:20:45

    水得不能再水了……

    通过观察规律可得如果其中有一个数mod 5=0/1/4则M赢(n mod 5=n的最后一位mod 5)

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var

    i,a,b:byte;

    s:ansistring;

    begin

    for i:=1 to 10 do

    begin

    readln(s);

    a:=ord(s[pos(' ',s)-1])-48;

    b:=ord(s[length(s)])-48;

    a:=a mod 5; b:=b mod 5;

    if (a=0) or (b=0) or (a=1) or (b=1) or (a=4) or (b=4)

    then writeln('Matrix67')

    else writeln('Shadow');

    end;

    end.

  • 0
    @ 2009-07-17 16:08:24

    program dsa;

    var i,c,d,j,max,l:longint;

    s:ansistring;

    begin

    for i:=1 to 10 do

    begin

    readln(s);

    l:=length(s);

    for j:=1 to length(s) do

    begin

    if s[j]=' ' then

    begin

    max:=j;

    break;

    end;

    end;

    val(s[max-1],c);

    val(s[l],d);

    if ((c=2) or (c=3) or (c=7) or(c=8))

    and ((d=2) or (d=3) or (d=7) or (d=8)) then writeln('Shadow')

    else writeln('Matrix67');

    end;

    end.

    好一瓶纯净的农夫山泉

  • 0
    @ 2009-07-13 15:21:48

    var i,j:longint;

    a,c:char;

    h:array[1..2]of char;

    begin

    for i:=1 to 10 do

    begin

    for j:=1 to 2 do

    begin

    read(a,c);

    while c in['0'..'9'] do

    begin

    a:=c;

    read(c);

    end;

    h[j]:=a;

    end;

    if (h[1] in['0','1','4','5','6','9']) or (h[2] in['0','1','4','5','6','9'])

    then

    writeln('Matrix67')

    else writeln('Shadow');

    end;

    end.

    与某牛代码类似,但不是照抄的

  • 0
    @ 2009-07-12 20:10:02

    yeah!庆祝1.5星!!!!!!!!!!!!!!!!!!!!!!!!

    problem no.1196

    pass no.45

    man no.1632

    try no.3238

    AC NO.001

  • 0
    @ 2009-07-11 14:44:10

    打个SG 函数发现..

    读入i,j若满足尾数 mod 5=0 1 4 那么matrix67胜利否则shadow胜利

  • 0
    @ 2009-06-11 13:48:44

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    竟然提交了n次,空格前的一位才是前一个数的个位,本来想好了却打错了,郁闷……

  • 0
    @ 2009-05-25 12:37:27

    感谢各位大牛!!!!

  • 0
    @ 2009-05-18 21:17:41

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    只考虑个位就行了。

    var i:byte;

    a,b:char;

    s:ansistring;

    begin

    for i:=1 to 10 do begin

    readln(s);

    a:=s[pos(' ',s)-1];

    b:=s[length(s)];

    if((a='2')or(a='3')or(a='7')or(a='8'))and

    ((b='2')or(b='3')or(b='7')or(b='8')) then

    writeln('Shadow') else writeln('Matrix67');

    end;

    end.

  • 0
    @ 2009-04-18 17:10:29

    program p1196;

    var i,j:longint;

    a,c:char;

    h:array[1..2]of char;

    begin

    for i:=1 to 10 do

    begin

    for j:=1 to 2 do

    begin

    read(a,c);

    while c in['0'..'9'] do

    begin

    a:=c;

    read(c);

    end;

    h[j]:=a;

    end;

    if (h[1] in['0','1','4','5','6','9']) or (h[2] in['0','1','4','5','6','9']) then

    writeln('Matrix67') else writeln('Shadow');

    end;

    end.

信息

ID
1196
难度
4
分类
博弈论 点击显示
标签
(无)
递交数
2209
已通过
983
通过率
44%
被复制
6
上传者