276 条题解
-
0shelley LV 3 @ 2008-10-22 14:46:40
很水的floodfill 但是MN打错,调了半个小时。。。
-
02008-10-21 22:26:03@
program as;
var
n,m,i,j,z,k:integer;
a:array[1..100,1..100]of char;
procedure ds(i,j:integer);
begin
a:='-';
if a='#'
then ds(i+1,j);
if a='#'
then ds(i+2,j);
if a='#'
then ds(i-1,j);
if a='#'
then ds(i-2,j);
if a='#'
then ds(i,j+1);
if a='#'
then ds(i,j+2);
if a='#'
then ds(i,j-1);
if a='#'
then ds(i,j-2);
if a='#'
then ds(i+1,j+1);
if a='#'
then ds(i-1,j-1);
if a='#'
then ds(i+1,j-1);
if a='#'
then ds(i-1,j+1);
end;
begin
readln(n,m);
for i:=1 to n do
for j:=1 to m do
begin
read(a[i]);
if j=m
then
readln;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
begin
if a='#'
then
begin
k:=k+1;
ds(i,j);
end;
end;
writeln(k);
end.怎么只有50分``
-
02008-10-21 21:12:43@
编译通过...
├ 测试数据 01:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 02:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 03:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 04:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 05:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 06:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 07:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 08:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 09:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 10:答案错误... ├ 标准行输出
├ 错误行输出
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0ms
把‘-’当成发光点的结局
浪费三次提交机会了
囧!
终于。。。。。。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms -
02008-10-20 16:27:46@
超级猥琐的搜索...将近50行的程序,不过终于过了
庆祝此题让我通过100题!!! -
02008-10-20 09:51:43@
伟大的FLOODFILL
-
02008-10-19 13: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 -
02008-10-15 19:01:57@
BFS
忘记把头指针+1了,导致超时,吸取教训
诶. -
02008-10-05 17:58:48@
#include
static char a[105][105];
int n,m;
int askk(int x,int y);
int clear(int x,int y);
main()
{int i,j;
int save=0;
scanf("%d%d",&n,&m);
for(i=0;i -
02008-10-02 17:28:48@
囧。。。。。
-
02008-09-29 21:52:40@
没什么好说的
简单的搜索
囧!!!!!
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
var i,j,k,l,m,n:longint;
a:array[-5..105,-5..105] of longint;
sel:array[-5..105,-5..105] of boolean;
ch:char;
procedure sc(x,y:longint);
var g,t:longint;
begin
sel[x,y]:=true;
if not sel[x,y-2] then if a[x,y-2]=1 then sc(x,y-2);
if not sel[x,y-1] then if a[x,y-1]=1 then sc(x,y-1);
if not sel[x,y+1] then if a[x,y+1]=1 then sc(x,y+1);
if not sel[x,y+2] then if a[x,y+2]=1 then sc(x,y+2);
if not sel[x-2,y] then if a[x-2,y]=1 then sc(x-2,y);
if not sel[x-1,y] then if a[x-1,y]=1 then sc(x-1,y);
if not sel[x+1,y] then if a[x+1,y]=1 then sc(x+1,y);
if not sel[x+2,y] then if a[x+2,y]=1 then sc(x+2,y);
if not sel[x-1,y-1] then if a[x-1,y-1]=1 then sc(x-1,y-1);
if not sel[x-1,y+1] then if a[x-1,y+1]=1 then sc(x-1,y+1);
if not sel[x+1,y-1] then if a[x+1,y-1]=1 then sc(x+1,y-1);
if not sel[x+1,y+1] then if a[x+1,y+1]=1 then sc(x+1,y+1);
end;
begin
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(ch);
if ch='#' then a:=1;
end;
readln;
end;
for i:=1 to n do
for j:=1 to m do
if (a=1) and (not sel) then
begin
inc(k);
sc(i,j);
end;
writeln(k);
end. -
02008-09-18 13:21:13@
可以用并查集实现~
-
02008-09-17 08:06:04@
FLOODFILL
DFS实现!
没什么难度。。
很简单,只是那8个方向增量烦人··
-
02008-09-15 21:09:23@
这个题用搜索不就行吗?
-
02008-09-14 17:06:54@
我用搜索···
-
02008-09-14 10:47:38@
procedure dfs(u,v:longint);
var tu,tv,r:longint;
begin
top:=1; stack[top].x:=u; stack[top].y:=v; stack[top].op:=1;
while top>0 do begin
if stack[top].op=1 then b[stack[top].x,stack[top].y]:=true;
tu:=stack[top].x+uu[stack[top].op]; tv:=stack[top].y+vv[stack[top].op];
inc(stack[top].op); if stack[top].op>12 then dec(top);
if (tu>=1) and (tu=1) and (tv -
02008-09-13 12:01:36@
尴尬,一开始没发现用char的话,回车也被读进来了,要加个READLN
-
02008-09-11 12:49:57@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms最暴力的DFS都能0MS。。。。
-
02008-09-09 22:46:53@
又出现了一次AC的说。。。。100的数据。。。直接递归处理就行了。。。
给个重点过程。。。
procedure pop(c,d:byte);
begin
if (c >= 1) and (c = 1) and (d -
02008-09-05 21:39:03@
dfs就好了
-
02008-08-29 22:23:59@
最底下那位,地球人都知道的方法是什么方法?说清楚点...