2018-09-30 23:01:58 +01:00
---
id: 5900f4f61000cf542c510008
title: 'Problem 393: Migrating ants'
2020-11-27 19:02:05 +01:00
challengeType: 5
2019-08-05 09:17:33 -07:00
forumTopicId: 302058
2021-01-13 03:31:00 +01:00
dashedName: problem-393-migrating-ants
2018-09-30 23:01:58 +01:00
---
2020-11-27 19:02:05 +01:00
# --description--
2018-09-30 23:01:58 +01:00
2021-07-30 16:59:29 +02:00
An $n × n$ grid of squares contains $n^2$ ants, one ant per square.
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
All ants decide to move simultaneously to an adjacent square (usually 4 possibilities, except for ants on the edge of the grid or at the corners).
2018-09-30 23:01:58 +01:00
2021-07-30 16:59:29 +02:00
We define $f(n)$ to be the number of ways this can happen without any ants ending on the same square and without any two ants crossing the same edge between two squares.
2018-09-30 23:01:58 +01:00
2021-07-30 16:59:29 +02:00
You are given that $f(4) = 88$.
Find $f(10)$.
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
# --hints--
2018-09-30 23:01:58 +01:00
2021-07-30 16:59:29 +02:00
`migratingAnts()` should return `112398351350823100` .
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
2021-07-30 16:59:29 +02:00
assert.strictEqual(migratingAnts(), 112398351350823100);
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
# --seed--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
## --seed-contents--
2018-09-30 23:01:58 +01:00
```js
2021-07-30 16:59:29 +02:00
function migratingAnts() {
2020-09-15 09:57:40 -07:00
2018-09-30 23:01:58 +01:00
return true;
}
2021-07-30 16:59:29 +02:00
migratingAnts();
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
# --solutions--
2018-09-30 23:01:58 +01:00
```js
// solution required
```