题解

180 条题解

  • 0
    @ 2013-03-26 17:03:55

    把a用数带进去,呵呵- -

  • 0
    @ 2012-08-14 19:53:34

    用快速幂速度就很快了。。

  • 0
    @ 2012-07-25 09:16:36

    鸟题目!不做了!

  • 0
    @ 2010-07-18 02:56:17

    大题的思想就是替换a为特值

    不过这题的合理情况还真多啊。。。orz

  • 0
    @ 2010-04-14 17:16:33

    不是一般的长!

  • 0
    @ 2010-04-11 09:21:50

    var

    a:array[1..10000] of int64;

    s:string;

    t1,t2:int64;

    n,i:longint;

    function you(c:char):integer;

    begin

    case c of

    ')':you:=0;

    '+','-':you:=1;

    '*':you:=2;

    '^':you:=3;

    '(':you:=-1;

    end;

    end;

    function suan(s:string):int64;

    var

    i,m,l,j,p:longint;

    t:string;

    k,d:int64;

    begin

    i:=0;

    t:='';

    s:='('+s+')';

    m:=0;

    while i

  • 0
    @ 2010-04-01 20:06:32

    var st1,st:string[100];

      i,n,x,b,j:longint;

    function tree(l,r:longint; st2:string[100]):int64;

    var w,b,i,min1,min2,min3,min4,k,q,j,t:longint;  f:int64;

    begin

    tree:=0;

    w:=0;

    b:=1;

    for i:=l+1 to r-1 do

    begin

      if st2[i]='(' then inc(w);

      if st2[i]=')' then dec(w);

      if w

  • 0
    @ 2010-03-18 23:30:20

    在C里(-3000) % 35111居然等于-3000……内牛满面……

  • 0
    @ 2009-11-11 17:14:41

    用倒推递归做的...

    但第8点Cheat了...求真相

  • 0
    @ 2009-11-08 00:13:35

    編譯通過...

    ├ 測試數據 01:答案正确... 0ms

    ├ 測試數據 02:答案正确... 0ms

    ├ 測試數據 03:答案正确... 0ms

    ├ 測試數據 04:答案正确... 0ms

    ├ 測試數據 05:答案正确... 0ms

    ├ 測試數據 06:答案正确... 0ms

    ├ 測試數據 07:答案正确... 0ms

    ├ 測試數據 08:答案正确... 0ms

    ├ 測試數據 09:答案正确... 0ms

    ├ 測試數據 10:答案正确... 0ms

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

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

    var st1,st:string[100];

    i,n,x,b,j:longint;

    function tree(l,r:longint; st2:string[100]):int64;

    var w,b,i,min1,min2,min3,min4,k,q,j,t:longint; f:int64;

    begin

    tree:=0;

    w:=0;

    b:=1;

    for i:=l+1 to r-1 do

    begin

    if st2[i]='(' then inc(w);

    if st2[i]=')' then dec(w);

    if w

  • 0
    @ 2009-11-07 23:06:34

    大质数啊!!!

  • 0
    @ 2009-11-07 15:47:24

    编译通过...

    ├ 测试数据 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-11-06 08:57:28

    递归运算的时候加减乘取余一定要加括号。。否则只有70分

  • 0
    @ 2009-11-04 20:19:10

    var djb:array['!'..'z',1..2] of integer;

    shu:array[0..100] of int64;

    yun:array[0..100] of char;

    s,stt:string;

    i,n,ps,py,p,k:longint;

    aim1,aim2,aim3:int64;

    function yuns(x,y:int64;fh:char):int64;

    var o:longint;

    tt:int64;

    begin

    case fh of

    '+':yuns:=(x+y) mod 199999;

    '-':yuns:=(x-y) mod 199999;

    '*':yuns:=(x*y) mod 199999;

    '^':begin

    tt:=1;

    for o:=1 to y do tt:=(tt*x) mod 199999;

    yuns:=tt;

    end;

    end;

    end;

    procedure kid(st:string);

    var ch:char;

    begin

    p:=1;ps:=1;py:=0;

    while py>-1 do

    begin

    ch:=st[p];

    if (ord(ch)>=48) and (ord(ch)=48) and (ord(st[p])djb[yun[py],2] then

    begin

    inc(py);

    yun[py]:=ch;

    inc(p);

    end

    else begin

    shu[ps-2]:=yuns(shu[ps-2],shu[ps-1],yun[py]);

    dec(py);

    dec(ps);

    end;

    end;

    end;

    function f(ss,k:string):string;

    var j:longint;

    begin

    while pos(' ',ss)>0 do delete(ss,pos(' ',ss),1);

    while pos('a',ss)>0 do

    begin

    j:=pos('a',ss);

    delete(ss,j,1);

    insert(k,ss,j);

    end;

    ss:=ss+'#';

    f:=ss;

    end;

    begin

    djb['+',1]:=1;djb['+',2]:=2;djb['-',1]:=1;djb['-',2]:=2;

    djb['*',1]:=3;djb['*',2]:=4;djb['^',1]:=5;djb['^',2]:=6;

    djb['(',1]:=8;djb['(',2]:=0;djb[')',1]:=0;djb[')',2]:=8;

    djb['#',1]:=-1;djb['#',2]:=-1;

    readln(s);

    yun[0]:='#';

    kid(f(s,'1'));

    aim1:=shu[1];

    kid(f(s,'2'));

    aim2:=shu[1];

    kid(f(s,'3'));

    aim3:=shu[1];

    readln(n);

    for i:=1 to n do

    begin

    readln(stt);

    kid(f(stt,'1'));

    if shu[1]=aim1 then

    begin

    kid(f(stt,'2'));

    if shu[1]=aim2 then

    begin

    kid(f(stt,'3'));

    if shu[1]=aim3 then write(chr(i+64));

    end;

    end;

    end;

    writeln;

    end.

  • 0
    @ 2009-11-01 17:01:06

    case of‘+’ ‘-’ ‘*’ ‘/’..............................................

    case of 。。。。。。。。。。

    最讨厌枚举符号了 举了几百行 最后发现错了。。。。。从头开始找。。。累吐血

  • 0
    @ 2009-11-01 14:33:59

    编译通过...

    ├ 测试数据 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-10-29 21:13:46

    编译通过...

    ├ 测试数据 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-10-29 13:34:13

    各位:

    一定要用long long(for c++) or int64(for pascal)

  • 0
    @ 2009-10-27 20:44:39

    Orz pyg,告诉我一个极好的比较子程序

    #include

    #include

    #include

    #include

    typedef char str[20000];

    double D;

    int com(double a,double b){

    int x,y;

    double r;

    x=(int)log10(a)+1;y=(int)log10(b)+1;

    if (x!=y) return 1;

    r=pow(10,x-12);

    if (fabs(a-b)>r) return 1;

    return 0;

    }

    long Sig(char c){

    switch(c){

    case '+' : return 0;

    case '-' : return 0;

    case '*' : return 1;

    case '/' : return 1;

    case '^' : return 2;

    }

    return -1;

    }

    double work(str s){

    long l=strlen(s),i,T=0,k=-1,Min=999999;

    if (l==1 && s[0]=='a' ) return D;

    for (i=l-1;i>=0;i--){

    if ( s[i]==')' ) T++;

    if ( s[i]=='(' ) T--;

    if ( !T && Sig(s[i])>=0 )

    Min=( Sig(s[i])

  • 0
    @ 2009-10-27 19:30:06

    编译通过...

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

    ├ 测试数据 02:运行超时|格式错误...

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

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

    ├ 测试数据 05:运行时错误...|错误号: 216

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

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

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

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

    ├ 测试数据 10:运行时错误...|错误号: 216

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

    Unaccepted 有效得分:70 有效耗时:0ms

    谁能告诉我怎么破……大牛快出现吧

信息

ID
1003
难度
7
分类
字符串 点击显示
标签
递交数
7413
已通过
1550
通过率
21%
被复制
50
上传者