179 条题解
-
0金牌选手2世 LV 3 @ 2008-12-08 13:28:05
program p1023;
var
a:array[1..200,1..200] of boolean;
b:array[1..200] of boolean;
ans,n,k,i:integer;
procedure doit(k:integer);
var
i:integer;
begin
for i:=1 to n do
if a[k,i] then if not(b[i]) then begin b[i]:=true;doit(i);end;
end;
begin
readln(n);
ans:=0;
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),0);
for i:=1 to n do
begin
k:=20000;
while not(k=0) do
begin
read(k);
if not(k=0) then a:=true;
end;
readln;
end;
for i:=1 to n do
begin
if not(b[i]) then
begin
inc(ans);
doit(i)
end;
end;
writeln(ans);
end. -
02008-12-07 16:20:13@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram p1023;
const maxn=200;
var
n,i,x,ans:integer;
b:array[1..maxn] of boolean;
t:array[1..maxn,1..maxn] of boolean;
procedure dfs(i:integer);
var j:integer;
begin
b[i]:=true;
for j:=1 to n do
if (not b[j]) and (t)
then dfs(j);
end;
begin
readln(n);
fillchar(b,sizeof(b),false);
fillchar(t,sizeof(t),false);
for i:=1 to n do
begin
read(x);
while x0 do
begin
t:=true;
read(x);
end;
end;
ans:=0;
for i:=1 to n do
begin
if b[i]=false
then inc(ans);
dfs(i);
end;
writeln(ans);
end. -
02008-11-24 16:29:44@
水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题
-
02008-11-11 19:34:49@
在这儿忏悔一下,我盯着1023看了半天愣是没看出区别来,就交了1022的程序,结果无辜的AC了~~
感激fjxmlhx大牛提供的数据,很能说明问题!!
-
02008-11-06 17:21:28@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms偶们是拓扑排序,带队列的
60行 囧 啊
-
02008-11-05 20:54:14@
糊里糊涂的并查集就过了
-
02008-11-02 10:56:32@
if (g=1)or(g[j,i]=1)then
f[i]:=fac(j);
floyd=0ms
并查集=WA
floyd+并查集=0ms.................
1022的并查集把if (g=1)and(g[j,i]=1)then
f[i]:=fac(j);
改成
if (g=1)or(g[j,i]=1)then
f[i]:=fac(j);
就能过................ -
02008-10-29 13:45:57@
数据真的有点弱,
我打漏一行代码都能过没打这行代码之前程序过不了fjxmlhx给的这组数据
61 0
2 0
3 5 0
6 0
4 0 -
02008-10-27 10:09:42@
太水了!!!!
用1022的程序照过 -
02008-10-26 16:05:57@
编译通过...
├ 测试数据 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:54:30@
p1022 和 p1023一摸一样。。。。
-
02008-10-20 19:17:23@
var
a:array[1..200,0..200]of longint;
b:array[1..200]of boolean;
bb:array[1..200,1..200]of boolean;
m,n,o,p,q,r,s:longint;procedure zhao(i:longint);
var
j:longint;
begin
b[i]:=false;
for j:=1to m do
if bb and b[j]
then zhao(j);
end;begin
readln(m);
fillchar(a,sizeof(a),0);
for n:=1to m do
begin
read(o);
while o0 do
begin
inc(a[o,0]);bb[n,o]:=true;
read(o);
end;
end;
p:=0;
fillchar(b,sizeof(b),true);
for n:=1to m do
if(a[n,0]=0)and(b[n])
then begin
inc(p);
zhao(n);
end;
for n:=1to m do
if b[n]
then begin
zhao(n);
inc(p);
end;
write(p);
end. -
02008-10-16 21:13:22@
编译通过...
├ 测试数据 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-11 08:31:17@
我之前就说过这题应该用最小点基做,怎么还有那么些oier交p1022的程序呢?实在义愤。
p1022和p1023是不一样的啊。
你们巧合ac的,不要上来传播错误思想啊。 -
02008-10-12 20:37:38@
无语
BT的垃圾数据
1022的并查及可一过这个
但是我边了个这个题的并查及只有30分。。。 -
02008-10-11 20:36:29@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
恩,Pascal的集合类型还真好用。。。
尽管效率低,不过对于n -
02008-10-06 21:07:20@
编译通过...
├ 测试数据 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-05 13:29:12@
偶佩服一下曹文,详见NOI专刊2008年第1期《集合》一文。
真的就是用集合的啦!想不到吧??秒杀哦。
大家用PASCAL的集合类型试一下吧。
Program p1023;
Var
a: array[1..220] of set of 1..200;
i, j: Longint;
n, m: Longint;
Begin
Readln(n);
For i:= 1 to n do
a[i]:= [i];
For i:= 1 to n do
Begin
While True do
Begin
Read(j);
If j=0 then Break;
a[i]:= a[i]+[j];
End;
End;
//================================
For i:= 1 to n do
For j:= i+1 to n do
Begin
If j In a[i] then a[i]:= a[i] + a[j];
If i In a[j] then a[j]:= a[j] + a[i];
End;
For i:= 1 to n do
For j:= 1 to n do
If i j then
If a[j] -
02008-09-17 15:28:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-09-11 18:02:33@
只要是dfs,咋搜咋过
顺便说一下,1022的代码与1023的dfs代码一模一样
真水