170 条题解

  • 0
    @ 2009-05-17 02:07:41

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    #include "stdio.h"

    int main()

    {

    int n,m,pos=0,i;

    int stack[10000],top=-1;

    scanf("%d",&n);

    while(n--)

    {

    scanf("%d",&m);

    for(;pos

  • 0
    @ 2009-04-28 20:56:26

    program zk;

    var

    zhan:array [0..30000] of int64;

    i,j,a,b,c,n:integer;

    outs:array [1..30000] of int64;

    h:qword;

    begin

    read(n);

    h:=0;

    fillchar(zhan,sizeof(zhan),0);

    fillchar(outs,sizeof(outs),0);

    for i:=1 to n do

    begin

    read(a);

    h:=zhan+h;

    zhan[i]:=a-h;

    end;

    for i:=1 to n do

    if outs[i]=0 then

    for j:=i downto 1 do

    if zhan[j]>0 then

    begin

    zhan[j]:=zhan[j]-1;

    outs[i]:=j;

    break;

    end;

    for i:=1 to n do

    write(abs(outs[i]-i)+1,' ');

    end.

    AC 51题

  • 0
    @ 2009-04-05 15:11:32

    模拟栈做。。

    把男生压栈。。

    来个女生就弹个出来。。

    注意数组范围!!。。

    3000绝对过不了。。

    开个2W。。就可以了。。。

    哎。。

    我也因为范围WA了一次。。。

    晕啊。。

  • 0
    @ 2009-03-23 21:11:07

    看了题解以后,茅塞顿开!建议大家把数组开大一点.20000就好啦.

    庆祝总共提交100次,通过程序50题,通过率50%

    ^_^

  • 0
    @ 2009-03-03 23:21:22

    program p1062;

    var

    i,j,k,l,o,n,s,h:longint;

    a:array[1..100000] of integer;

    b,c:array[1..2000] of integer;

    begin

    readln(n);

    k:=1; l:=0; o:=0;

    for i:=1 to n do

    begin

    read(b[i]);

    l:=b[i]-o;

    o:=b[i];

    k:=k+l;

    a[k]:=1;

    inc(k);

    end;

    s:=k-1;

    readln;

    for i:=1 to n do

    begin

    for j:=1 to s do

    if a[j]=1 then break;

    h:=0;

    for k:=j downto 1 do

    begin

    if a[k]=0 then break;

    if a[k]=2 then inc(h);

    end;

    inc(h);

    a[j]:=3; a[k]:=2;

    write(h,' ');

    end;

    readln

    end.

  • 0
    @ 2009-03-02 19:13:31

    用一个数组标记 男生 然后模拟

  • 0
    @ 2009-03-02 13:45:47

    不好好看体就是郁闷...交了4次....囧

  • 0
    @ 2009-02-09 01:07:57

    #include

    int main()

    {

    int n,m,pos=0,i;

    int stack[10000],top=-1;

    scanf("%d",&n);

    while(n--)

    {

    scanf("%d",&m);

    for(;pos

  • 0
    @ 2009-02-03 16:00:21

    编译通过...

    ├ 测试数据 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-02-02 09:04:17

    可惜不能一次ac!!数组开小了!!

  • 0
    @ 2009-02-01 00:25:49

    建议搞数理化竞赛的学会给学员加一个国语班

    做个题目都表述不清,呵呵呵呵呵呵呵呵

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

    #include

    int main()

    {

    long j,n,i,c[1501]={0},b[1501]={0};

    scanf("%ld",&n);

    for(i=1;i

  • 0
    @ 2009-01-18 23:29:06

    很简单

  • 0
    @ 2009-01-15 12:34:18

    Program P1062;

    var a:array[1..1500]of qword;

    var b:array[1..1500]of boolean;

    var n,i,j:longint;

    begin

    readln(n);

    for i:=1 to n do read(a[i]);

    for i:=1 to n do

    for j:=a[i] downto 1 do

    begin

    if not b[j] then begin

    b[j]:=true;

    write(a[i]-j+1,' ');

    end;

    end;

    end.

  • 0
    @ 2008-12-15 12:36:01

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    一次AC庆祝下。

    算法很简单,看清楚题目。

  • 0
    @ 2008-12-09 20:56:44

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    o(n)算法不难,注意看清题...

  • 0
    @ 2008-12-02 20:38:45

    var

    i,j,k,x,y,z:longint;

    n,bt:longint;

    s:ansistring;

    a,b:array[1..50000]of longint;

    aaa,aab:longint;

    begin

    readln(n);

    s:='';

    y:=0;

    for i:=1 to n do begin

    read(x);

    for j:=1 to x-y do

    s:=s+'(';

    y:=x;

    s:=s+')'

    end;

    n:=length(s);

    x:=0;

    fillchar(a,sizeof(a),0);

    bt:=0;

    fillchar(b,sizeof(a),0);

    for i:=1 to n do begin

    if s[i]='(' then begin

    inc(x);

    a[x]:=i;

    end else begin

    y:=a[x];

    z:=0;

    for j:=y to i do

    if s[j]=')' then inc(z);

    inc(bt);

    b[bt]:=z;

    a[x]:=0;

    dec(x);

    end;

    end;

    for i:=1 to bt-1 do

    write(b[i],' ');

    writeln(b[bt])

    end.

  • 0
    @ 2008-11-09 08:05:15

    一点也不水啊,提交4次才过

    想不到简便方法 就模拟

  • 0
    @ 2008-11-07 14:43:58

    编译通过...

    ├ 测试数据 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-11-05 10:29:40

    1.把数组尽量开大点~

    2.一定注意~总人数并不是n*2~所以n*2是10分~改过就A啦~

  • 0
    @ 2008-11-05 09:47:38

    9,10 点错的人 我很同情,因为我也是这么错的!数据比1500大!!!!!!

信息

ID
1062
难度
4
分类
数据结构 | 点击显示
标签
递交数
3524
已通过
1406
通过率
40%
被复制
12
上传者