Problem Statement
There are n girls in the city. The girls are conveniently numbered 0 through n-1. Some girls love some other girls. Love is not necessarily symmetric. It is also possible for a girl to love herself.
You are given a
Each girl has two boolean properties: isMagical (is she a magical girl?) and isProtected (is she protected by some girl?). Initially, for each girl i we have isMagical[i] = False and isProtected[i] = False.
At any moment, you can choose an ordinary girl and turn her into a magical girl. That is, you can take a girl i such that isMagical[i] = False, and change isMagical[i] to True.
Each such change will trigger a series of events:
- Each magical girl will protect all girls she loves: if isMagical[i] and love[i][j], then isProtected[j] is set to True.
- Each protected girl will also protect all girls she loves: if isProtected[i] and love[i][j], then isProtected[j] is set to True.
Once there are no more changes, you can again change another ordinary girl into a magical one, and so on. Your goal is to reach a situation with many girls that are magical, but not protected. That is, you are interested in girls such that isMagical[i] = True and isProtected[i] = False. Return the maximum number of such girls in a situation that can be reached using the above process.
Definition
- Class:
- IncubatorEasy
- Method:
- maxMagicalGirls
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int maxMagicalGirls(String[] love)
- (be sure your method is public)
Constraints
- n will be between 1 and 10, inclusive.
- love will contain exactly n elements.
- Each element of love will contain exactly n characters.
- Each character in each element of love will be either 'Y' or 'N'.
Examples
{"NY","NN"}
Returns: 1
One optimal solution is to change girl 0 to a magical girl. Girl 0 will be magical and she will not be protected. It is not possible to have two girls that are both magical and not protected: if you change both girls to magical girls (in any order), you will get a situation in which girl 1 is protected.
{"NYN", "NNY", "NNN"}
Returns: 1
Again, there is no way to create more than one unprotected magical girl. For example, if we start by making girl 2 magical, and then make girl 0 magical, magical girl 0 will protect girl 1, and protected girl 1 will protect girl 2. Thus, in this case girl 0 will be magical and unprotected, girl 1 will be ordinary and protected, and girl 2 will be magical and protected.
{"NNYNN","NNYNN","NNNYY","NNNNN","NNNNN"}
Returns: 2
{"NNNNN","NYNNN","NYNYN","YNYNN","NNNNN"}
Returns: 2
{"NNNNN","NNNNN","NNNNN","NNNNN","NNNNN"}
Returns: 5
{"Y"}
Returns: 0
Note that a girl may love herself.
{"YNNNN","NNNYN","NNNNN","YNNNN","NYNNN"}
Returns: 2
{"NNNNNNYY","YNNYNNNN","NYYYYNYN","NYNYNNNN","NNNNNNNN","YNYYYNNY","NNYYNYNN","NNNYNNNN"}
Returns: 1
{"NNN","YNN","NNN"}
Returns: 2
{"NN","NN"}
Returns: 2
{"NYNNNNNN","NNNYNNNY","NNNNNNNN","YNNNNNYN","NNYYYNNN","NNNNNNNN","YNNNYYYY","NYNNYYNY"}
Returns: 2
{"NYNNYNNNNN","YYNNYNNNYN","YNNNYNNYNN","NNNNNNNNNN","YYNYNYYYNN","YYYYYYYNNY","NNNNYNNNNY","NNYYNNNYYY","NNYNNNNNNN","NNNNYNYNNN"}
Returns: 1
{"NNNNNNN","NNNNNNY","NNYNNNN","YNNYNNN","NYNNNNN","NNNNNNN","NYNYNNN"}
Returns: 2
{"NYNNNNNNN","YNYNNYYYN","NNNNNNYNY","NNNNNNNNN","NNYNYNNNY","YNNNNNNNN","NNNNYNNYY","NNNNNYNYN","NNNNYNYNN"}
Returns: 1
{"NYNYYY","NNNNNN","NYNNNN","NNNNNN","NNNYNN","NNNNNY"}
Returns: 2
{"NN","NY"}
Returns: 1
{"NN","NN"}
Returns: 2
{"N"}
Returns: 1
{"N"}
Returns: 1
{"YNNYYYNN","NYNNYNNN","YNYYNNNN","NNYNNYYN","NYYNYNYY","NNNNYYNN","YNNYYYYY","YYNNNNYY"}
Returns: 0
{"NNN","NNN","NNY"}
Returns: 2
{"N"}
Returns: 1
{"NNN","YNN","NNN"}
Returns: 2
{"NNN","NNN","NNN"}
Returns: 3
{"NNNNNYN","YNNNNNN","NNNNNYY","YNNNNNN","NNNNNYN","YYNYNNN","NNNNNNN"}
Returns: 2
{"NNY","NYN","YYN"}
Returns: 0
{"NNN","YNN","NYN"}
Returns: 1
{"NNYY","NNNN","NYNN","YNYY"}
Returns: 1
{"NNYNYNYYNN","YNYNNYNNYY","NNNNNNYNNN","NNNNNYNNNY","YNNNYYNYNN","NNNNNYNNNN","NNNNYNNNNY","NNNNYNNNNN","NNYNNNNNNN","NNNYNYNNNY"}
Returns: 1
{"YNNY","NNYN","NNNN","YNNN"}
Returns: 1
{"NYNNYNN","NNNYNNN","NNNNNNN","NNNYNNN","NNNNNNN","YNNYNNN","NNNNYNN"}
Returns: 3
{"NNNN","YNNN","NNYN","NYYN"}
Returns: 1
{"NNNNNNN","NNNNNNN","NNNNNNN","NNNNNNN","NNYNNNN","NNNNNNN","NNNNNNN"}
Returns: 6
{"NNN","NNN","NNN"}
Returns: 3
{"NNNNNNNNNY","NNNNNYNNNN","NNNNNNNNYN","YNNYNNYNNN","NNNNNNNYNN","NNNNNYNYNY","NNNNNNNNNN","NNYNNYNYNN","NYNNNYNYNN","NYYYNNNYNY"}
Returns: 1
{"YN","NN"}
Returns: 1
{"NNNNNN","NNNNNN","NYNNNN","NNNNNN","YNNNNY","NNNNNN"}
Returns: 4
{"YNNNNYN","NNNNYNN","NNNNYNN","NNNNNNN","NNNNNNN","NNNNNNN","NNNNNNN"}
Returns: 5
{"NNNNNN","NNNNNN","NNNNNN","NNNNNN","NNNNNN","NNNYNY"}
Returns: 5
{"NNNNNNNYN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNYNNNNN"}
Returns: 7
{"NNNNNYNNYY","NNYNNYNNNY","NNNYNNNNNY","NYNNNNNNYY","YNYNNYNNYN","NNNNNNNNNN","YNNYNNYNNN","NNNYNNNYYY","NNYNNYYYNN","NNYNNNYNNY"}
Returns: 1
{"NYNNNYNNN","NNYYNNNNN","NNNNYNNNN","NNNNNNNNN","NNNNNNNNN","NNNYYYNNN","NNNYNNNNN","NNNNNNNNN","NNNNNNNNN"}
Returns: 4
{"YNNNNN","NNNNNY","NNYNNN","YNNNNN","NNNNYN","NNNNNN"}
Returns: 2
{"NNNNNNNNNY","NNYNYNNNNY","YNNNYNNNNN","NNNNNNNNNN","NNNNNNNNNN","NYYNNNNNYN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNYNYN","NNNNNNNNNN"}
Returns: 5
{"NNNN","NNNN","NNNY","NNNN"}
Returns: 3
{"NNNNNNNNNN","NNYNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNYNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNYY"}
Returns: 7
{"N"}
Returns: 1
{"YNNNNYN","NYNNNYN","NNNNYNY","NYNNNNN","NYYYNNN","NNNNNNN","NNNNNYN"}
Returns: 2
{"NY","NN"}
Returns: 1
{"NNNN","YNNN","NNNN","NNNN"}
Returns: 3
{"NYYYYN","NNYYYY","NNYYYY","YNYYNY","YYYYYY","YYYNYN"}
Returns: 0
{"NNNNNNN","NNNNNNY","YYNYYNY","YNNNYNN","NNNNNNN","NNYNNNN","NNYNNYN"}
Returns: 2
{"NNNNNN","NNNNNN","NNNNNN","NNNNYN","NNNNNN","NNNNNN"}
Returns: 5
{"NYN","YYY","NNN"}
Returns: 1
{"NN","YN"}
Returns: 1
{"YY","NY"}
Returns: 0
{"NNNNNNN","NNNNNNN","NNNYNYN","NNNNNNN","YNNNNNN","NNNNNNN","NNNNNNN"}
Returns: 5
{"YNNNNNNNY","NNYNYYNNN","YNYNNYNNY","NYYYYNYYY","YNNNNNYNN","YNYNYYNNN","NYNYYYYYY","NNYNNNNYY","NYNNYNYYN"}
Returns: 0
{"N"}
Returns: 1
{"NN","NN"}
Returns: 2
{"N"}
Returns: 1
{"NNN","NNN","NNN"}
Returns: 3
{"NNYNNNNY","NYNYNNYN","NNYNNNNN","YNNNNNNN","YYYNNYNN","NNNNNNNY","NYNNYNYN","NYNNNNYY"}
Returns: 0
{"NNN","NYN","YNN"}
Returns: 1
{"NNNNN","NNNYN","NNNNN","NNNNN","NNNNY"}
Returns: 3
{"NN","NN"}
Returns: 2
{"NYNNNNN","NNNNNNN","NNNNNNN","NNNNNNN","NNNNNNN","NNNNNNN","NNNNNNN"}
Returns: 6
{"NNNNNNN","YNYNNNN","NNNNNNN","NNNYNNY","NNNNYNN","NNNNYYY","YYNYNNY"}
Returns: 2
{"NNNNNNN","NNNNNNN","NNNNYNN","NNNNNYN","YNNNYNN","NYNNNYN","NNNNNNY"}
Returns: 2
{"NNNNNNNNN","NYNNNNYNN","YYYYNNYYY","YYYNNNYNN","NNNYNNYNN","NNYNNYNNN","NNNNNNNNY","NNNNYNNYY","NNNYYNYNN"}
Returns: 1
{"NNNYNNN","NNNNNNN","NNNYNNN","NNNNNNY","NNNNNNN","NNNNNNN","NNNNNNN"}
Returns: 5
{"NNNNNNN","NNNNYNN","NNNNNNN","NNNNNNN","NYNNNNN","NNNNNNN","NNNNNNN"}
Returns: 5
{"NNNNNNN","NYNNNNN","NNNNNNN","NNNNNNN","NNNNNNY","NYNNNNN","NNYNNNY"}
Returns: 4
{"N"}
Returns: 1
{"NNNNY","NNNYY","YNYNN","NNYNN","YYYNY"}
Returns: 0
{"NYNYNNNYY","NYNNYNNYN","YYNNNYNNN","YNYYYYYYN","NNYYNNYNY","NYYNYNNYN","NYYNYYYYN","YNYYNNYYY","NNNNYYYYY"}
Returns: 0
{"NNNYNNNNN","NYNNNNNYN","YYNNNNNNY","YNNNNNNNY","NNNNYYYNY","YNNYNNNNN","YYNYNNNYN","NYNNNNYNN","NYYNNNNNN"}
Returns: 1
{"N"}
Returns: 1
{"NNY","YNY","NNN"}
Returns: 1
{"NNNNNY","NNNNNN","NNNNYN","NNNNNN","YNNNNN","NNNNNN"}
Returns: 3
{"NNYNN","NNNNN","NNNYY","NNNYN","NNNNY"}
Returns: 2
{"NNNNNYNNNN","NNNYNNNNNN","NNNNNNNNNN","NNNNNNNYNN","NNNNNNNNYN","YNNNYYNNNN","NNNNNNNNNN","NNNYYNNNNY","NNNNYNNNNN","NNYNYNNNNN"}
Returns: 2
{"NNNNNN","NNNNNN","NNNNNN","NNNNNN","NNNNNN","NNNNNN"}
Returns: 6
{"NYYNNNN","NNYNYYN","YNNNNNY","YNNNNYY","NYNYNYN","YYYNNYY","NYNNNNN"}
Returns: 0
{"NNN","NNN","NNN"}
Returns: 3
{"NY","NY"}
Returns: 1
{"NNNNNNNN","NNNNNNNN","NNNNNNNN","NNNNNNNN","NNNNNNNN","NNNNYNNN","NNNNNNNN","NNNNNNNN"}
Returns: 7
{"YNYNNNNN","NNYNYNNY","NNNNNYNN","NNNNNNNN","NNNNNNNN","YNNNNNYN","NNNNNYNN","NNNNNNNN"}
Returns: 3
{"NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN","NNNNNNNNN"}
Returns: 9
{"NNNN","NNNY","NNNN","NNNN"}
Returns: 3
{"YNY","NYN","NNN"}
Returns: 1
{"NYNN","YNNN","NNNN","NNNN"}
Returns: 2
{"NYNNYNY","NYNYYYN","NNNNNYY","YYNNYNY","NYNNYYY","YNNNYNN","NYNNYYY"}
Returns: 1
{"NNN","YYN","YYY"}
Returns: 1
{"NNNNNYNNNN","NNYNNNNNNN","NNNNNNNNNN","NNNNNNNNYN","YNNNYNNNNN","NNNYNNNNNN","NNNNNNNNNN","NNYYNNNNNN","NNNNNNNNNY","NNNNNNNNNN"}
Returns: 4
{"NNNNYN","NYYYYN","NNNNNN","NNYNNN","NNNNNN","NNNYNN"}
Returns: 2
{"NNNNY","NNYNN","NNNNN","NNNYN","NNNNN"}
Returns: 2
{"YNNNNYN","YNNNNNY","NNYNNNY","NYNYNNN","YNNNNNN","NNNNNYN","NYYYNNN"}
Returns: 1
{"NNNNNNNYNN","NYNNNNNNNN","NNNNNNNNNN","NYNNNNNNNN","NNNNNNNNNN","NNNNYNNNNY","NNNNNNNNNN","YNNNNNYNNN","YNNNYNNNNN","NNNNNNNNNN"}
Returns: 5
{"YYNNYYYN","YNNNNYYY","NYYYNNNY","YYNYYYYN","YYNYYYNN","NYNYYYYY","YNNYYNNN","NNYNNNYY"}
Returns: 0
{"NYN","YNN","NNN"}
Returns: 1
{"YNNNYNNYN","NYYNNNNNN","YNYYNNYNY","NNYNNNNNN","NYYNYNNNN","YNNNYNNNN","YNYNNYNNN","NNYNNNNNN","NNNNNYNNN"}
Returns: 0
{"N"}
Returns: 1
{"NYNYYNYNYY","NYYNNYYYNY","YYNNYYNNNN","NYNYNNYNYN","YNYYYNYYYN","YNYYYNNYNY","NYNYYNNYYN","YNNNNNNYNN","YNYYYNYNNY","YNYYNNYYYN"}
Returns: 0
{"NNNNNNN","NNNNNNN","NNNNNNN","NNNNNNN","NNNNNYN","NNNNNNN","NNNNNNN"}
Returns: 6
{"YYY","YYN","YYY"}
Returns: 0
{"NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN","NNNNNNNNNN"}
Returns: 10
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
Returns: 0
{"NY", "NN" }
Returns: 1
{"Y" }
Returns: 0
{"NNNNN", "NYNNN", "NYNYN", "YNYNN", "NNNNN" }
Returns: 2
{"NYNN", "NNNN", "NYNN", "NYYY" }
Returns: 2
{"NYN", "NNY", "NYN" }
Returns: 1
{"YYYYY", "NNNNY", "NNNNY", "NNNNY", "NNNNN" }
Returns: 3
{"NNY", "NNY", "NNN" }
Returns: 2
{"NYN", "NNN", "NYN" }
Returns: 2
{"NYYN", "NNNY", "NNNY", "NNNN" }
Returns: 2
{"NYNNNN", "NNYNNN", "NNYNNN", "NNNNYN", "NNNNNY", "NNNYNN" }
Returns: 1
{"NY", "NY" }
Returns: 1
{"YN", "YN" }
Returns: 1
{"NYNN", "NNYN", "NNNY", "NNYN" }
Returns: 1
{"NYNNNNNN", "NNNYNNNN", "NYNYNNNN", "NNNNYNNN", "NNNNNYNN", "NNNNNNYN", "NNNNNNNY", "YYNYYYYY" }
Returns: 1
{"NNNNN", "NNNNN", "NYNYN", "YNYNN", "NNNNN" }
Returns: 3
{"NYN", "NYN", "NYN" }
Returns: 2
{"YNNNY", "NNNNY", "NNNNY", "NYNNN", "YNNNN" }
Returns: 2
{"YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY", "YNYNYNYNNY" }
Returns: 5
{"NYY", "NNY", "NYN" }
Returns: 1
{"NYYY", "YNYN", "YYYN", "NNNN" }
Returns: 1
{"NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "YYYYYNNNNN", "NNNNNYNNNN", "NNNNNNYNNN", "NNNNNNYNNN", "NNNNNNYNNN" }
Returns: 5
{"NNNNY", "NNNNN", "NNNNN", "NNNNN", "NNNNY" }
Returns: 4
{"YYN", "NNY", "NNY" }
Returns: 1
{"NYN", "NYN", "NNN" }
Returns: 2
{"NYNN", "NNYN", "NNNY", "NNNY" }
Returns: 1
{"NNNN", "NNNY", "NNNY", "NNYN" }
Returns: 2
{"NNNNN", "NNNNN", "NNNYN", "NNNNN", "NNNYN" }
Returns: 4
{"NNNNN", "NNNNN", "NNNNN", "NNNNN", "NNNNN" }
Returns: 5
{"NNN", "NYN", "NYN" }
Returns: 2
{"NYYNN", "NNNYN", "NNNNY", "NNNYN", "NNNNY" }
Returns: 2
{"NNY", "NNY", "YNN" }
Returns: 1
{"NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY" }
Returns: 5
{"NNY", "YNN", "NYN" }
Returns: 0
{"NNNNNN", "NNNNNY", "NYNNNN", "NNYNNN", "NNNYNN", "NNNNNY" }
Returns: 2
{"NNYN", "NNYN", "NNYN", "NNYN" }
Returns: 3
{"NNNNN", "NNNNN", "NNNNN", "NNYNN", "NNYNN" }
Returns: 4
{"NYYYN", "NNNNY", "NNNNY", "NNNNY", "NNNNN" }
Returns: 3
{"NNNYN", "NNYNN", "NNNNY", "NYNNN", "YNNNN" }
Returns: 0
{"N" }
Returns: 1
{"NNNYN", "NNNYY", "NNNYY", "NNNNN", "NNNNN" }
Returns: 3
{"YNN", "YNN", "YNN" }
Returns: 2
{"YNNNN", "YNNNN", "YNNNN", "YNNNN", "YNNNN" }
Returns: 4
{"NNNNNYYNNN", "NNNNNNYYYY", "NNNNNNYYYY", "NNNNNNNNNY", "NNNNNNNNNY", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN" }
Returns: 6
{"YYYNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNYNNNNN", "NNNYNNNNNN", "NNNNNNYNNN", "NNNNNNNYNN", "NNNNNNYNNN", "NYYNNNNNNN", "NNNNNNNNNN" }
Returns: 4
{"NYYN", "NNNY", "NNNY", "NNNY" }
Returns: 2
{"NNY", "NYN", "NYN" }
Returns: 1
{"NYNYNYNYNY", "NYNYNYNYNY", "NYNYNYNYNY", "YYNNNYNYNY", "YYNNNYNYNY", "YYNNNYNYNY", "YYNNNYNYNY", "YYNNNYNYNY", "YYNNNYNYNY", "YYNNNYNYNY" }
Returns: 4
{"NNN", "YYN", "NNN" }
Returns: 2
{"NYNN", "NNYN", "NNNY", "NNNN" }
Returns: 1
{"NNNNNNNYNN", "NNNNNNNNNN", "NNNNNYNNNN", "NNNNNNNNNN", "NNNNNNNYNN", "NNNNNNNNNN", "NNNYNNNNNN", "NNNNNNNNNN", "NNYNNNNNNN", "NNNNNYNNNN" }
Returns: 6
{"NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY", "NNYYNNYYYY" }
Returns: 4
{"NYN", "NNY", "YNN" }
Returns: 0
{"NNNN", "NYNN", "NYNN", "NNNN" }
Returns: 3
{"YNN", "NNN", "YNN" }
Returns: 2
{"YY", "YY" }
Returns: 0
{"NYNNN", "NYNNN", "NYNYN", "YNYNN", "NNNNN" }
Returns: 2
{"NYYNNN", "NNNNNN", "NNNNNN", "NNNNNN", "NNNYNN", "NNNYNN" }
Returns: 4
{"NYN", "NNY", "NNY" }
Returns: 1
{"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY" }
Returns: 0
{"NNYN", "NNYN", "NNNY", "NNNN" }
Returns: 2
{"YYY", "NNN", "NNN" }
Returns: 2
{"NYNN", "NNYY", "NNNN", "NNNN" }
Returns: 2
{"NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN", "NNNNNNNNNN" }
Returns: 10
{"NYYNN", "NNNYN", "NNNYN", "NNNNY", "NNNYN" }
Returns: 2
{"NYNY", "NNYN", "NNYN", "YNNN" }
Returns: 1
{"NYY", "NNN", "NNN" }
Returns: 2
{"NNN", "NNY", "NNY" }
Returns: 2
{"NN", "YN" }
Returns: 1
{"NNNNY", "NYNNN", "NYNYN", "NYNNN", "NNNNN" }
Returns: 2
{"NYYYY", "NYYYY", "NYYYY", "NYYYY", "NYYYY" }
Returns: 1
{"NYNNNN", "NNYNNN", "NNNYNN", "NNNNYN", "NNNNNY", "NNNNNN" }
Returns: 1
{"NYNN", "NYNN", "NNNY", "YNYN" }
Returns: 1
{"YNYNNYYNYN", "YNYNNYYNYN", "YNYNNYYNYN", "YNNYNNNYNY", "YNYNNYYNYN", "YNYNNYYNYN", "YNYNNYYNYN", "YNYNNYYNYN", "YNYNNYYNYN", "YNNYNYNNYN" }
Returns: 3
{"YYNNN", "NNNNN", "NNNYY", "YYNNN", "NNNNN" }
Returns: 2
{"NYYN", "NYNN", "NYNY", "NNNY" }
Returns: 1