Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-331-cross-flips.english.md
Randell Dawson a7eb800450 fix(curriculum): Remove unnecessary assert message argument from English Coding Interview Prep challenges - Project Euler - 04 (#36418)
* fix: removed assert msg argument-4

* fix: remove double quotes surrounding testString code

Co-Authored-By: Tom <20648924+moT01@users.noreply.github.com>
2019-07-27 07:34:19 -05:00

74 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f4b71000cf542c50ffca
challengeType: 5
title: 'Problem 331: Cross flips'
---
## Description
<section id='description'>
N×N disks are placed on a square game board. Each disk has a black side and white side.
At each turn, you may choose a disk and flip all the disks in the same row and the same column as this disk: thus 2×N-1 disks are flipped. The game ends when all disks show their white side. The following example shows a game on a 5×5 board.
It can be proven that 3 is the minimal number of turns to finish this game.
The bottom left disk on the N×N board has coordinates (0,0);
the bottom right disk has coordinates (N-1,0) and the top left disk has coordinates (0,N-1).
Let CN be the following configuration of a board with N×N disks:
A disk at (x,y) satisfying , shows its black side; otherwise, it shows its white side. C5 is shown above.
Let T(N) be the minimal number of turns to finish a game starting from configuration CN or 0 if configuration CN is unsolvable.
We have shown that T(5)=3. You are also given that T(10)=29 and T(1 000)=395253.
Find .
</section>
## Instructions
<section id='instructions'>
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler331()</code> should return 467178235146843500.
testString: assert.strictEqual(euler331(), 467178235146843500);
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler331() {
// Good luck!
return true;
}
euler331();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>