245 条题解

  • 0
    @ 2008-12-07 16:10:30

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    program p1021;

    var

    n,k,i,x1,x2,ans:integer;

    begin

    readln(n,k);

    ans:=0;

    for i:=1 to n do

    begin

    x2:=0;

    read(x1);

    while x10 do

    begin

    inc(x2);

    read(x1);

    end;

    if x2>=k

    then inc(ans);

    end;

    writeln(ans);

    end.

  • 0
    @ 2008-12-06 14:59:58

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var j,i,n,k,m:integer;

    a:array[1..200,1..200] of boolean;

    into:array[1..200] of integer;

    succ:boolean;

    begin

    readln(n,k);

    fillchar(a,sizeof(a),false);

    fillchar(into,sizeof(into),0);

    for i:= 1 to n do

    begin

    read(j);

    while j 0 do

    begin

    if j i then

    begin

    a:=true;

    a[j,i]:=true;

    inc(into[i]);

    end;

    read(j);

    end;

    end;

    repeat

    succ:=true;

    for i:= 1 to n do

    if ((into[i] < k ) and (into[i] > 0)) then

    begin

    for j:= 1 to 200 do

    if a then

    begin

    a[j,i]:=false;

    a:=false;

    dec(into[j]);

    dec(into[i]);

    end;

    succ:=false;

    end;

    until succ;

    m:=0;

    for i:= 1 to 200 do

    if into[i] > 0 then inc(m);

    writeln(m);

    end.

    一次AC..

  • 0
    @ 2008-11-29 08:09:54

    计数的时候一定要初始化,养成严谨的好习惯。

    两次才AC。

  • 0
    @ 2008-11-25 11:26:42

    #include

    #include

    #include

    bool g[201][201]={0};

    int in[201]={0};

    int N,K,R;

    void init()

    {

    scanf("%d%d",&N,&K);

    int tmp;

    for(int i=1;i

  • 0
    @ 2008-11-07 19:51:11

    program bb;

    var i,j,m,n,a,b,k:integer;

    q:string;

    begin

    readln(n,k);

    m:=0;

    for i:=1 to n do

    begin

    readln(q);

    n:=0;

    for j:=1 to length(q) do

    begin

    if q[j]=' 'then n:=n+1;

    if n>k then inc(m);

    end;end;

    write(m);

    end.

  • 0
    @ 2008-11-03 20:30:30

    阿呸...我竟然错了两次...ac率啊...

    编译通过...

    ├ 测试数据 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-10 22:27:39

    楼下各位,统计个数的做法是错的!!!没有思考前不要叫“水”。

    虽然其实也很简单。但是数据刁点,大伙应该很多都要unac。

    8 2

    1 2 3 4 5 0

    2 1 0

    3 1 0

    4 1 0

    5 1 0

    6 7 8

    7 6 8

    8 6 7

    这组数据得答案是3,可是大家应该会输出4。

    正确做法是不断踢掉认识当前没有被踢掉的人数少于k的人。最后就是答案。

  • 0
    @ 2008-10-29 20:56:24

    我这样来做,怎么过不完啊?

    du[i]代表点I 的 度。

    f 是距阵图。

    我是直接判断度的大小。

    ---|-CODE---|--

    var

    m,n:longint;

    f:array[1..200,1..200] of boolean;

    du:array[1..200] of longint;

    procedure init;

    var

    i,j:longint;

    begin

    fillchar(f,sizeof(f),false);

    fillchar(du,sizeof(du),0);

    readln(n,m);

    for i:=1 to n do

    begin

    read(j);

    while j0 do

    begin

    if not f then

    begin

    f:=true;

    inc(du[i]);

    inc(du[j]);

    end;

    read(j);

    end;

    readln;

    end;

    j:=0;

    for i:=1 to n do

    if du[i]>=m then inc(j);

    writeln(j);

    end;

    begin

    init;

    end.

  • 0
    @ 2008-10-27 12:46:29

    数数吧!!

    认识人数多于k就+1

    统计一共多少个+1就AC!

  • 0
    @ 2008-10-26 19:40:07

    Water 太water了!!!!!

    无限鄙视出题人,不过15行,劝大家不要想麻烦了。

  • 0
    @ 2008-10-23 11:39:48

    编译通过...

    ├ 测试数据 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-20 21:11:29

    惭愧,C++写了20行...

  • 0
    @ 2008-10-20 19:55:51

    var

    q:string;

    n,k,s,ans,i,j:longint;

    begin

    readln(n,k);

    for i:=1 to n do

    begin

    readln(q);

    s:=0;

    for j:=1 to length(q) do

    if q[j]=' ' then s:=s+1;

    if s>=k then ans:=ans+1;

    end;

    writeln(ans);

    end.

    3022551

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    15行~~~~

    无语了~~~~

  • 0
    @ 2008-10-20 19:16:21

    var

    ans,step,i,j,x,n,k:longint;

    a:array[0..200,0..200]of boolean;

    //=====================================

    procedure init;

    begin

    readln(n,k);

    fillchar(a,sizeof(a),false);

    for i:=1 to n do

    begin

    x:=1;

    while x0 do

    begin

    read(x);

    a:=true;

    a[x,i]:=true;

    end;

    readln;

    end;

    ans:=0;

    end;

    //=====================================

    procedure solve;

    begin

    for i:=1 to n do

    begin

    step:=0;

    for j:=1 to n do

    if a

    then inc(step);

    if step>=k

    then inc(ans);

    end;

    write(ans);

    end;

    //=====================================

    begin

    init;

    solve;

    end.

  • 0
    @ 2008-10-19 21:07:34

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    T人法。。。但是(b[map[x,i]]) 是个优化如果子程序里没有就会栈溢出;主程序里没有会超时

    program v1021;

    var

    map:array[0..200,0..200]of longint;

    i,j,k,l,m,n:longint;

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

    b:array[1..200]of boolean;

    ok:boolean;

    procedure del(x:longint);

    var

    i:longint;

    begin

    b[x]:=false;ok:=false;

    for i:=1 to map[x,0] do

    begin

    dec(a[map[x,i]]);

    if (a[map[x,i]]

  • 0
    @ 2008-10-18 20:53:33

    编译通过...

    ├ 测试数据 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-14 21:03:22

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    到底是题太水还是数据太弱阿?

    一开始用踢人,可以过2个点,其它超时,看完大家的思路试着用水题作法,竟然AC了

    哎~

    哪位大牛能说一下用踢人如何不超时

  • 0
    @ 2008-10-12 22:30:35

    = = …… 哎……

    program c1021;

    var

    k,n,ans:integer;

    a:array[1..200,1..500] of integer;

    r:array[1..220] of integer;

    procedure Init;

    var i,j:integer;

    begin

    assign(input,'input.txt');

    reset(input);

    readln(n,k);

    for i:=1 to n do

    begin

    j:=0;

    repeat

    inc(j);

    read(a);

    if a0 then inc(r[i],1)

    until a=0;

    end;

    close(input);

    end;

    procedure Love;

    var i,j:integer;

    begin

    for i:=1 to n do

    if r[i]>=k then inc(ans);

    write(ans);

    end;

    begin

    ans:=0;

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

    fillchar(r,sizeof(r),0);

    Init;

    Love;

    end.

  • 0
    @ 2008-10-10 21:32:03

    我用10分钟写了一个类拓扑排序

    后来听说数据水到只须统计度大于k的个数

    我被顶歇了!!!!!!!!!!!!!!!!!!!!!!!

    var i,j,k,l,m,n:longint;

    a:array[1..200,1..200] of boolean;

    du:array[1..200] of longint;

    ka:array[1..200] of longint;

    sel:array[1..200] of boolean;

    function pd:boolean;

    var g,t:longint;

    begin

    g:=0;

    fillchar(ka,sizeof(ka),0);

    for t:=1 to n do

    if sel[t] then

    if du[t]

  • 0
    @ 2008-10-10 12:45:49

    d 1 d A !

    d 1 d dd = 5!

    dddd!

    ...

信息

ID
1021
难度
3
分类
贪心 点击显示
标签
递交数
6432
已通过
3225
通过率
50%
被复制
24
上传者