vijos p1063(迎春舞会之集体舞)

DP,从左到右,从上到下 for 一遍,如果j为

跟盖房子有点像,我只算了向下的三角,有人说要算向上的三角,但是还是A了......

不知道什么原因。

 1     program p1063; uses math;
 2 var
 3         i,j,k,l,m,n:longint;
 4         s:array[1..300,1..300] of char;
 5         f:array[1..300,1..300] of longint;
 6         ch:char;
 7 begin
 8         read(n);
 9         for i:=1 to n do
10         begin
11                read(ch);
12                read(ch);
13                for j:=1 to 2*n-i do
14                read(s[i,j]);
15         end;
16         fillchar(f,sizeof(f),0);
17         for i:=1 to n do
18                 for j:=i to 2*n-i do
19                         begin
20                         if (j-i+1)mod 2<>0 then
21                                 begin
22                                 if s[i,j]='-' then
23                                         begin
24                                         if s[i-1,j]='-' then
25                                         f[i,j]:=min(f[i-1,j-1],f[i-1,j+1])+1
26                                         else f[i,j]:=1;
27                                         end;
28                                 end
29                         end;
30         k:=0;
31         for i:=1 to n do
32                 for j:=i to 2*n-i do
33                         if k<f[i,j] then k:=f[i,j];
34         for i:=1 to k do
35                 l:=l+2*i-1;
36         write(l);
37 end.   

转载于:https://www.cnblogs.com/zyxx233/archive/2012/10/18/2728855.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值