CF589E Training with Doors

题目描述

上校将为下士进行训练。上校有一个房间,里面有无数扇紧闭的门,一扇接一扇地排成一行。上校能够执行以下两个命令: 1.打开第一扇关着的门,走到下一扇关着门的前面(将此命令标记为“(”) 2.走到当前打开的最后一扇门的前面并将其关闭(将此命令标记为“)”)。 如果满足以下条件,则命令序列有效: 1.当应该执行命令“)”时,至少有一扇门是打开的(第一个命令不应该是“)”) 2.执行完序列中的所有命令后,所有门都关闭了(船长站在第一扇门前)。 上校收到了一个字符网格——一个有n行和m列的网格,其中每个元素包含一个命令,即“(”或“)”。上校必须为上尉选择一个训练计划——从字符网格中选择一个矩形X。如果所选矩形X的每一行都是有效的命令序列,则训练计划有效。 你需要给出有多少满足的矩形X。所选的矩形X应该是完整的的(即中间没有空格)。即使所包含的命令相同,如果它们的位置不同,那也算不同的矩形。

输入格式

第一行包含两个整数n和m(1

输出格式

有多少不同的方法数(不同的,满足条件的矩形) 翻译:WAITER