洛谷1201java实现_bzoj1201: [HNOI2005]数三角形

Description

L3Byb3h5L2h0dHAvd3d3Lmx5ZHN5LmNvbS9KdWRnZU9ubGluZS9pbWFnZXMvMTIwMV8xLmpwZw==.jpg

Input

大三角形的所有短边可以看成由(n+1)*n/2个单位三角形的边界组成。如下图的灰色三角形所示。其中第1排有1个灰色三角形,第2排有2个灰色三角形,……,第n排有n个灰色三角形。所以输入格式是这样规定的:输入第一行为正整数n,其中1<=n<=1000,表示大三角形每边的长度。接下来的n行,第i+1行有i组数,从左到右每组数描述一个三角形,每组数都有3个数,这3个数非0即1,表示对应的短边是否被删除,0表示已被删除,1表示未被删除,依次按照三角形的左、右、下边的顺序来描述。所以第i+1行有3i个数,每个数是0或1

L3Byb3h5L2h0dHAvd3d3Lmx5ZHN5LmNvbS9KdWRnZU9ubGluZS9pbWFnZXMvMTIwMV8yLmpwZw==.jpg

Output

仅包含一个整数T,表示有多少个三角形的边界都没有被删除。

预处理每个点向右上、左下、右、左四个方向延伸的最大长度,枚举左上-右下方向的路径,计算一边在这条路径上的三角形个数,可以排序并用树状数组维护

#include

#include

char buf[],*ptr=buf,*pmx=buf+;

inline int g(){

if(ptr==pmx)fread(ptr=buf,,,stdin);

return *(ptr++);

}

int _(){

int x=,c=g();

while(c

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值