128 条题解
-
0n1994625 LV 8 @ 2009-08-19 09:16:34
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0mstype qgll=array[1..20]of integer;
var n,m,i,j,x,y,max,t:longint;
s:array[1..20]of string;
f:qgll;
c:char;procedure boss(cc:string;f:qgll);
[red]var i,j:longint;注意啊!!不能少[/red]
begin
for i:=1 to n do
begin
if (f[i]=0) then
for j:=1 to length(s[i]) do
if (pos(copy(cc,length(cc)-j+1,j),s[i])=1)and(jlength(s[i])) then
begin
inc(f[i]);
max:=max+length(s[i])-j;
if max>t then t:=max;
boss(s[i],f);
max:=max-length(s[i])+j;
dec(f[i]);
break;
end;
end;
end;begin
readln(n);
for i:=1 to n do readln(s[i]);
readln(c);
max:=1;
boss(c,f);
writeln(t);
end. -
02009-08-12 14:35:11@
瀑布汗~自己可以接自己
-
02009-08-06 18:18:46@
宽搜无敌,就是爽
program dcjl;
var
duii:array[1..10000,1..30] of integer;
dui:array[1..10000] of ansistring;
str:array[1..30] of ansistring;
head,tail:integer;
n,i,j,k:integer;
max:longint;
ss:ansistring;begin
readln(n);
for i:=1 to n do begin
readln(str[i]);
end;
fillchar(duii,sizeof(duii),0);
head:=1;
readln(dui[1]);
tail:=head;
for i:=1 to n do if pos(dui[1],str[i])=1 then begin
inc(tail); dui[tail]:=str[i];inc(duii[tail,i]) end;
max:=0;
repeat
inc(head);
for i:=1 to n do
if duii[head,i] -
02009-08-04 23:43:57@
疯掉了,本菜鸟采用了字符串处理的方法,想的都快疯了,结果一运行PASCAL就没了,NND,我的一上午啊!!!!
-
02009-07-22 21:48:55@
搜索
program P1311;
var s:array[0..100] of string;
b:array[0..1000] of integer;
i,j,n,m,ans:longint;
ch:char;procedure search(t,l:longint);
var stemp:string;
i,j:longint;
begin
if l>ans then ans:=l;
for i:=length(s[t]) downto 2 do
begin
stemp:=copy(s[t],i,length(s[t])-i+1);
for j:=1 to n do
if b[j]0 then
if (pos(stemp,s[j])=1) and (length(s[j])>length(s[t])-i+1) then
begin
dec(b[j]);
search(j,l+length(s[j])-length(stemp));
inc(b[j]);
end;
end;
end;Begin
readln(n);
for i:=1 to n do readln(s[i]);
readln(ch);
for i:=1 to n do b[i]:=2;
for i:=1 to n do
if s[i][1]=ch then
begin
dec(b[i]);
search(i,length(s[i]));
inc(b[i]);
end;
writeln(ans);
end. -
02009-07-11 20:36:15@
var
n,max:integer;
s:array[1..20]of string;
vis:array[1..20]of integer;
head:string;procedure init;
var
i:integer;
beginreadln(n);
for i:=1 to n do readln(s[i]);
readln(head);
end;procedure search(ss:string);
var
i,j,k:integer;
beginif length(ss)>max then max:=length(ss);
for i:=1 to n do
if vis[i] -
02009-07-09 13:23:44@
DFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFS
-
02009-05-31 13:07:45@
var a:array[1..1000] of string;
b:array[1..1000,1..1000] of longint;
c:array[1..1000] of longint;
i,j,k,l,m,n,v,x,z,q,w,e,r,p:longint;
s:char;
procedure f(p:longint);
var i,j:longint;
begin
if z>q then q:=z;
for i:=1 to n do
if b[p,i]0 then
begin
z:=z+b[p,i];
c[i]:=c[i]+1;
if c[i] -
02009-04-24 14:46:31@
可以自己接自己,重叠部分需要取最小, 如abababab和ababc,重叠部分是2而不是4.
先生成链接矩阵, DFS搜索, 哈希计数确认是否使用到2次. -
02009-03-17 17:59:42@
第一次用DFS AC~
我给标记使用次数的数组赋值用了fillchar(t,sizeof(t),2)..
结果自己试的时候惨死~
后来才知道用这个赋值 2 = 33686018 。。。。。。。 -
02009-03-11 14:25:14@
太淫荡了......
-
02009-02-21 12:59:54@
尽情地DFS吧
-
02009-02-15 14:32:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
一次ac 全0ms
深搜+邻接矩阵(图)
注意:一个单词包含另一个时不能连接
另外就是细心了!·····~~~~~ -
02009-02-09 20:38:02@
多谢楼下 破晓Daybreak 的指导……我也是那样错的…… 原来如此……
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
a:array[1..20]of string;
b:array[1..20,1..20]of longint;
used:array[1..20]of integer;
st:char;
i,j,k,n,max:longint;
function min(a,b:longint):longint;
begin
if a>b then exit(b);
exit(a);
end;
procedure dfs(i,sum:longint);
var i1:longint;
begin
dec(used[i]);
for i1:=1 to n do
if (b0)and(used[i1]>0)then
begin
sum:=sum+length(a[i1])-b;
dfs(i1,sum);
if sum>max then max:=sum;
sum:=sum+b-length(a[i1]);
end;
inc(used[i]);
end;
begin
readln(n);max:=0;
for i:=1 to n do
begin
readln(a[i]);
if length(a[i])>max then max:=length(a[i]);
end;
readln(st);
for i:=1 to n do
for j:=1 to n do
for k:=1 to min(length(a[i]),length(a[j]))-1 do
if copy(a[i],length(a[i])-k+1,k)=copy(a[j],1,k)
then begin
b:=k;
break;
end;
fillword(used,sizeof(used)div 2,2);
for i:=1 to n do
if a=st then dfs(i,length(a[i]));
writeln(max);
end. -
02009-02-06 12:20:56@
Var
q1,q2:array[0..30,0..30] of longint;
ma:array[0..30] of integer;
ans,maxans:array[0..100] of integer;
sum,pos1,len1,len2,k,n,i,j,max,kk:integer;
head:char;
str,str2:string;
s:array[1..30] of string;
Procedure dfs(k,q,st:longint);
var
i:integer;
begin
for i:=1 to n do
if (q1[k,i]=1) and (ma[i]max then
begin
maxans:=ans;
max:=st;
sum:=q-1;
end;
end;
BEgin
readln(n);
for i:=1 to n do
readln(s[i]);
readln(head);
for i:=1 to n do
for j:=1 to n do
begin
if length(s[i]) -
02009-01-31 22:50:27@
这题太淫荡了。
我的主程序
fillchar(hash,sizeof(hash),0);ans:=0;
readln(n);
for i:=1 to n do
readln(s[i]);
for i:=1 to n do
s:=s[i];
n:=2*n;
readln(s[0]);
这上面是读入不看,下面:
for i:=1 to n do
if s[i][1]=s[0][1] then
begin
hash[i]:=true;
inc(ans,length(s[i]));
( if ans>en then en:=ans; )
find(i);
dec(ans,length(s[i]));
hash[i]:=false;
end;
writeln(en);
那句一开始丢掉了……结果第四点WA。 貌似楼下也有个wa的 也许是这种问题 就是如果加入的单词都不能连,那么取最大长度的单词。这组数据是这样的: (太淫荡了,公布出来。 vj告诉我的错误答案是7…… 结果死也找不到为什么会比标准缺少2…… )
8
NO
NEW
NAME
NEVER
NATIONAL
NECESSARY
EVER
ME
N -
02009-01-19 20:25:56@
const
maxn=20;
var
s:array[1..maxn] of string;
head:char;
best,i,n:integer;
add:array[1..maxn,1..maxn] of integer;
used:array[1..maxn] of integer;procedure calcadd;
var
i,j,k,t,min:integer;
ok:boolean;
begin
for i:=1 to n do
for j:=1 to n do
begin
if length(s[i])best then
best:=len;
for i:=1 to n do
if (add[last,i]>0)and(used[i] -
02009-01-17 14:36:11@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-12-23 21:34:11@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
暴搜一次AC.. -
02008-11-13 08:33:09@
弱弱的····
暴力搜都行?!!!