245 条题解
-
0ACyuanyuan LV 4 @ 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 有效耗时:0msprogram 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. -
02008-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..
-
02008-11-29 08:09:54@
计数的时候一定要初始化,养成严谨的好习惯。
两次才AC。 -
02008-11-25 11:26:42@
#include
#include
#includebool 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 -
02008-11-07 19:51:11@
program bb;
var i,j,m,n,a,b,k:integer;
q:string;
beginreadln(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.
-
02008-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 -
02008-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的人。最后就是答案。 -
02008-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. -
02008-10-27 12:46:29@
数数吧!!
认识人数多于k就+1
统计一共多少个+1就AC! -
02008-10-26 19:40:07@
Water 太water了!!!!!
无限鄙视出题人,不过15行,劝大家不要想麻烦了。 -
02008-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 -
02008-10-20 21:11:29@
惭愧,C++写了20行...
-
02008-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 有效耗时:0ms15行~~~~
无语了~~~~ -
02008-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. -
02008-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 有效耗时:0msT人法。。。但是(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]] -
02008-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
水~水~水~ -
02008-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了哎~
哪位大牛能说一下用踢人如何不超时 -
02008-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. -
02008-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] -
02008-10-10 12:45:49@
d 1 d A !
d 1 d dd = 5!
dddd!
...