126 条题解

  • 0
    @ 2008-10-09 13:31:41

    hint说最优是n^5?

    数学方法明明是O(lgN)

    /*1181*/

    #include "stdio.h"

    #include "string.h"

    int n;

    int num[9]={0,9+1,189+1,2889+1,38889+1,488889+1,5888889+1,68888889+1,788888889+1},

    n10[9]={0,0,10,100,1000,10000,100000,1000000,10000000};

    void ipd()

    {

    scanf("%d",&n);

    }

    void go()

    {

    int i=1,d,e,f;

    char ans[50];

    while(n>=num[i])i++;

    d=n-num;/*多几位,0起*/

    e=d/i;/*第几个,0起*/

    f=d%i;/*哪一位,0起*/

    e=n10[i]+e;

    sprintf(ans,"%d",e);

    printf("%c",ans[f]);

    }

    int main()

    {

    ipd();

    go();

    return 0;

    }

  • 0
    @ 2008-10-05 23:35:31

    编译通过...

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

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

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

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

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

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

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

    注意:把整数定义为qword,因为数据大于10^8,这也是我WA了一次的原因!

  • 0
    @ 2008-10-04 17:39:48

    编译通过...

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

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

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

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

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

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

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

    成功秒杀!Maths Problem...WS...

  • 0
    @ 2008-09-27 17:04:20

    编译通过...

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

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

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

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

    ├ 测试数据 05:运行超时...

    最后一个点有多大?

  • 0
    @ 2008-09-11 19:52:06

    数学方法,先确定位数,再确定当前位的第几个数,再确定数字中的第几位

  • 0
    @ 2008-09-05 16:51:54

    program zhangji;

    var

    s:ansistring;s1:string;

    i,j,k,m:integer;

    si,n,l:qword;

    begin

    read(n);

    si:=0;

    repeat

    inc(si);

    str(si,s1);

    s:=s+s1;

    l:=length(s);

    until l>n;

    writeln(s[n]);

    end.

    用字符串好象不行 有两个超了 晕

  • 0
    @ 2008-08-30 20:39:09

    wo 汗

  • 0
    @ 2008-08-27 21:44:26

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2008-08-18 18:18:39

    编译通过...

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

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

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

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

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

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

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

    弱弱的水题,用数学方法做一次AC

  • 0
    @ 2008-08-11 15:34:46

    用数学方法超简单

  • 0
    @ 2008-08-10 09:26:07

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2008-08-03 17:26:32

    哇卡,多么美妙的一次AC。

    思路是确定第n位在那个数里,再找他是这个数的第几位。

    longint足够了。

    呵呵别想复杂了,我初一时做这道题是想办法模拟,结果比想象中的复杂多了。

    今天再做,10分钟20行就搞定了,我真的是进步了

  • 0
    @ 2008-07-14 15:58:38

    楼下O(1),好一个O(1),我看到3个循环

  • 0
    @ 2007-11-28 13:10:24

    出题人什么思路?O(n^5)的字符串处理?P.S.这个死题啊我……

  • 0
    @ 2007-10-29 20:07:27

    编译通过...

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

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

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

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

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

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

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

    最开始手动表打错了,卡了N久……

  • 0
    @ 2007-10-04 23:12:30

    编译通过...

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

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

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

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

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

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

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

    实践证明 本题很弱

  • 0
    @ 2007-08-28 11:03:11

    编译通过...

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

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

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

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

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

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

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

    O(1)!

  • 0
    @ 2007-08-25 13:13:00

    编译通过...

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

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

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

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

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

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

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

    我晕死!~~~~~~ 注意数据范围到了10的9次方了............. 不知我说得对不对

  • 0
    @ 2007-08-16 21:27:55

    用字符串处理超时一个点,改用数字处理就过了。

  • 0
    @ 2007-08-05 20:01:01

    #include

    int main(void)

    {

    long num[10]={0};

    long i,j,k;

    long n;

    scanf("%d",&n);

    k=1;

    for (i=1;i

信息

ID
1181
难度
5
分类
模拟 点击显示
标签
递交数
1823
已通过
681
通过率
37%
被复制
6
上传者