Equilateral

AtCoder
IDtenka1_2018_e
Time2000ms
Memory256MB
Difficulty
There are some coins in the $xy$\-plane. The positions of the coins are represented by a grid of characters with $H$ rows and $W$ columns. If the character at the $i$\-th row and $j$\-th column, $s_{ij}$, is `#`, there is one coin at point $(i,j)$; if that character is `.`, there is no coin at point $(i,j)$. There are no other coins in the $xy$\-plane. There is no coin at point $(x,y)$ where $1\leq i\leq H,1\leq j\leq W$ does not hold. There is also no coin at point $(x,y)$ where $x$ or $y$ (or both) is not an integer. Additionally, two or more coins never exist at the same point. Find the number of triples of different coins that satisfy the following condition: * Choosing any two of the three coins would result in the same Manhattan distance between the points where they exist. Here, the Manhattan distance between points $(x,y)$ and $(x',y')$ is $|x-x'|+|y-y'|$. Two triples are considered the same if the only difference between them is the order of the coins. ## Constraints * $1 \leq H,W \leq 300$ * $s_{ij}$ is `#` or `.`. ## Input Input is given from Standard Input in the following format: $H$ $W$ $s_{11}...s_{1W}$ $:$ $s_{H1}...s_{HW}$ [samples]
Samples
Input #1
5 4
#.##
.##.
#...
..##
...#
Output #1
3

$((1,1),(1,3),(2,2)),((1,1),(2,2),(3,1))$ and $((1,3),(3,1),(4,4))$ satisfy the condition.
Input #2
13 27
......#.........#.......#..
#############...#.....###..
..............#####...##...
...#######......#...#######
...#.....#.....###...#...#.
...#######....#.#.#.#.###.#
..............#.#.#...#.#..
#############.#.#.#...###..
#...........#...#...#######
#..#######..#...#...#.....#
#..#.....#..#...#...#.###.#
#..#######..#...#...#.#.#.#
#..........##...#...#.#####
Output #2
870
API Response (JSON)
{
  "problem": {
    "name": "Equilateral",
    "description": {
      "content": "There are some coins in the $xy$\\-plane. The positions of the coins are represented by a grid of characters with $H$ rows and $W$ columns. If the character at the $i$\\-th row and $j$\\-th column, $s_{i",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "tenka1_2018_e"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There are some coins in the $xy$\\-plane. The positions of the coins are represented by a grid of characters with $H$ rows and $W$ columns. If the character at the $i$\\-th row and $j$\\-th column, $s_{i...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments