Problem Statement
You are given a
Definition
- Class:
- SnowStorm
- Method:
- countWays
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int countWays(String[] paths)
- (be sure your method is public)
Constraints
- paths must have between 1 and 15 elements, inclusive.
- Each element of paths must have exactly n characters, where n is the number of elements of paths.
- Each character in paths must be either 'Y' or 'N'.
- Character i of element i of paths will always be 'N'.
- Character j in row i of paths will be equal to character i in row j of paths.
Examples
{ "NYY", "YNY", "YYN"}
Returns: 4
There are 4 different snow clearing possibilities: - clear the paths 1-2 and 2-3. - clear the paths 1-3 and 2-3. - clear the paths 1-3 and 1-2. - or clear the paths 1-2, 1-3, 2-3.
{ "NYNN", "YNYY", "NYNN", "NYNN"}
Returns: 1
To be able to get from every igloo to any other igloo, we must clear all the paths. So the number of solutions is 1.
{ "NYYY", "YNYY", "YYNY", "YYYN"}
Returns: 38
{ "NN", "NN"}
Returns: 0
There are no paths to be cleaned, and you can't reach igloo 2 from igloo 1, so the number of solutions is 0.
{ "NYYYNYYYYYNYYYY", "YNYYYYYYYNNYYYY", "YYNYYNYYNYYYYYY", "YYYNYYYYYYNNNYN", "NYYYNNYYYYYYYYY", "YYNYNNYYYYYYYYY", "YYYYYYNYYYYYYYY", "YYYYYYYNYNYYYYY", "YYNYYYYYNYNYYYY", "YNYYYYYNYNYYYYY", "NNYNYYYYNYNYYYY", "YYYNYYYYYYYNYYY", "YYYNYYYYYYYYNNY", "YYYYYYYYYYYYNNY", "YYYNYYYYYYYYYYN"}
Returns: 2704
{ "NYYYYYYYYYYYYYY", "YNYYYYYYYYYYYYY", "YYNYYYYYYYYYYYY", "YYYNYYYYYYYYYYY", "YYYYNYYYYYYYYYY", "YYYYYNYYYYYYYYY", "YYYYYYNYYYYYYYY", "YYYYYYYNYYYYYYY", "YYYYYYYYNYYYYYY", "YYYYYYYYYNYYYYY", "YYYYYYYYYYNYYYY", "YYYYYYYYYYYNYYY", "YYYYYYYYYYYYNYY", "YYYYYYYYYYYYYNY", "YYYYYYYYYYYYYYN" }
Returns: 4896
{"NNYYNN", "NNYNNN", "YYNNNN", "YNNNNY", "NNNNNY", "NNNYYN"}
Returns: 1
{"N"}
Returns: 1
{"NY", "YN"}
Returns: 1
{ "NYY", "YNN", "YNN"}
Returns: 1
{ "NNY", "NNY", "YYN"}
Returns: 1
{ "NYY", "YNY", "YYN"}
Returns: 4
{ "NYNN", "YNNN", "NNNY", "NNYN"}
Returns: 0
{ "NNYY", "NNYN", "YYNY", "YNYN"}
Returns: 4
{ "NYYY", "YNYY", "YYNY", "YYYN"}
Returns: 38
{ "NNNNY", "NNYYY", "NYNNN", "NYNNN", "YYNNN"}
Returns: 1
{ "NYYYY", "YNNYY", "YNNNN", "YYNNY", "YYNYN"}
Returns: 38
{ "NYYYY", "YNYYY", "YYNYY", "YYYNY", "YYYYN"}
Returns: 728
{ "NYNNNY", "YNNNNY", "NNNYYN", "NNYNNY", "NNYNNY", "YYNYYN"}
Returns: 20
{ "NNYYNN", "NNYYNN", "YYNNYY", "YYNNYY", "NNYYNY", "NNYYYN"}
Returns: 176
{ "NYYYYY", "YNYYYY", "YYNYYY", "YYYNYY", "YYYYNY", "YYYYYN"}
Returns: 6704
{ "NYNNNNY", "YNYNNYN", "NYNNYNY", "NNNNNNN", "NNYNNYY", "NYNNYNN", "YNYNYNN"}
Returns: 0
{ "NYNNYNY", "YNNYNNN", "NNNNYNY", "NYNNYNY", "YNYYNYY", "NNNNYNN", "YNYYYNN"}
Returns: 170
{ "NYYYYYY", "YNYYYYY", "YYNYYYY", "YYYNYYY", "YYYYNYY", "YYYYYNY", "YYYYYYN"}
Returns: 6256
{ "NYNNYNNN", "YNNYYYYN", "NNNYNYNN", "NYYNNYYN", "YYNNNNNN", "NYYYNNYN", "NYNYNYNY", "NNNNNNYN"}
Returns: 496
{ "NYYNYNYN", "YNYNYYYY", "YYNYYYYN", "NNYNYYYY", "YYYYNYYN", "NYYYYNNY", "YYYYYNNY", "NYNYNYYN"}
Returns: 9064
{ "NYYYYYYY", "YNYYYYYY", "YYNYYYYY", "YYYNYYYY", "YYYYNYYY", "YYYYYNYY", "YYYYYYNY", "YYYYYYYN"}
Returns: 8592
{ "NYYNYNYNN", "YNYNNYYYN", "YYNNNYNNY", "NNNNYNNNN", "YNNYNNNNY", "NYYNNNNNN", "YYNNNNNNY", "NYNNNNNNY", "NNYNYNYYN"}
Returns: 2052
{ "NNNYNYNYY", "NNYYYYYNY", "NYNYYYNNN", "YYYNYYNYN", "NYYYNYNNN", "YYYYYNNYN", "NYNNNNNYN", "YNNYNYYNY", "YYNNNNNYN"}
Returns: 8800
{ "NYYYNYYYY", "YNYYYYYYY", "YYNYYYYYY", "YYYNYYYYY", "NYYYNYYYY", "YYYYYNYYY", "YYYYYYNYY", "YYYYYYYNY", "YYYYYYYYN"}
Returns: 1776
{ "NYNYNYYYNN", "YNNYYNYNYY", "NNNNNNNNNY", "YYNNNNNNNY", "NYNNNYYNNN", "YNNNYNNYYN", "YYNNYNNYYN", "YNNNNYYNYN", "NYNNNYYYNN", "NYYYNNNNNN"}
Returns: 9812
{ "NNYYYYYYYY", "NNYYYNYYYN", "YYNYYNNYYN", "YYYNYYNYYY", "YYYYNYNNNN", "YNNYYNNYYY", "YYNNNNNYYY", "YYYYNYYNNN", "YYYYNYYNNY", "YNNYNYYNYN"}
Returns: 6824
{ "NYYYYYYYYY", "YNYYYYYYYY", "YYNYYYYYYY", "YYYNYYYYYY", "YYYYNYYNYY", "YYYYYNYYYY", "YYYYYYNYYY", "YYYYNYYNYY", "YYYYYYYYNY", "YYYYYYYYYN"}
Returns: 1376
{ "NYYNNNYYNNN", "YNYNNYNNNNN", "YYNNYNYNNNN", "NNNNNNYNNNN", "NNYNNYNNYNN", "NYNNYNNYYNN", "YNYYNNNNNNY", "YNNNNYNNYNN", "NNNNYYNYNYY", "NNNNNNNNYNY", "NNNNNNYNYYN"}
Returns: 9816
{ "NNYNYNYYYNY", "NNNNNYNNNYY", "YNNNYYYNYNY", "NNNNNYYNYYN", "YNYNNNNNYNY", "NYYYNNYNNYY", "YNYYNYNNYYN", "YNNNNNNNYNY", "YNYYYNYYNYY", "NYNYNYYNYNY", "YYYNYYNYYYN"}
Returns: 9880
{ "NYYYYYYYYYY", "YNYYYYYYYYY", "YYNYYYYYYYY", "YYYNYYYYYYY", "YYYYNYYYYYY", "YYYYYNYYYYY", "YYYYYYNYYYY", "YYYYYYYNYYY", "YYYYYYYYNYY", "YYYYYYYYYNY", "YYYYYYYYYYN"}
Returns: 3344
{ "NNNNNYNYNNNY", "NNNNNNNYNYYY", "NNNYNYNNYYNN", "NNYNYNNNNNNY", "NNNYNYNYNYNY", "YNYNYNNYNYNY", "NNNNNNNYNYNY", "YYNNYYYNNNNY", "NNYNNNNNNNYY", "NYYNYYYNNNYY", "NYNNNNNNYYNN", "YYNYYYYYYYNN"}
Returns: 2900
{ "NYNYYNYYNYNY", "YNNYYYYNYYYY", "NNNNYNYNNYYN", "YYNNYYYYYNYY", "YYYYNYYNYYYY", "NYNYYNYNNNYY", "YYYYYYNNNYNY", "YNNYNNNNYYNN", "NYNYYNNYNNYY", "YYYNYNYYNNNY", "NYYYYYNNYNNN", "YYNYYYYNYYNN"}
Returns: 6400
{ "NYYYYYYYYYYY", "YNYYYYYYYYYY", "YYNYYYYYYYYY", "YYYNYYYYYYNY", "YYYYNYYYYYYY", "YYYYYNYYYYYY", "YYYYYYNYYYYY", "YYYYYYYNYYYY", "YYYYYYYYNYYY", "YYYYYYYYYNYY", "YYYNYYYYYYNY", "YYYYYYYYYYYN"}
Returns: 4224
{ "NNNNNYNYYNNYN", "NNYNYYNNYNNNY", "NYNNYYYNYNYNY", "NNNNYNYYNYYYN", "NYYYNYNNNNYNY", "YYYNYNNNNYNYY", "NNYYNNNNYNYNY", "YNNYNNNNNYNNY", "YYYNNNYNNNNYN", "NNNYNYNYNNNNY", "NNYYYNYNNNNYN", "YNNYNYNNYNYNN", "NYYNYYYYNYNNN"}
Returns: 5504
{ "NYNYYYYYNYYNN", "YNYNNNYYYYNYN", "NYNYYNNYNNNNN", "YNYNYYYYYNYYY", "YNYYNYYYYYNYY", "YNNYYNYNNNYYN", "YYNYYYNYYNYNN", "YYYYYNYNNYYNY", "NYNYYNYNNNYYY", "YYNNYNNYNNNNN", "YNNYNYYYYNNYN", "NYNYYYNNYNYNN", "NNNYYNNYYNNNN"}
Returns: 5524
{ "NYYYYYNYYYYYY", "YNYYYYNYYYYYY", "YYNYYYYYYYYYY", "YYYNYYYYYYYYY", "YYYYNYYYYYYYY", "YYYYYNYYYYYYY", "NNYYYYNYYYYYY", "YYYYYYYNYYNYY", "YYYYYYYYNYYYY", "YYYYYYYYYNYYY", "YYYYYYYNYYNYY", "YYYYYYYYYYYNY", "YYYYYYYYYYYYN"}
Returns: 8288
{ "NNNNYYYNYNYNNN", "NNNYYYNYYNNNNN", "NNNNYYNYYNNYNN", "NYNNNNNYYNYNYY", "YYYNNNNYNYNNNY", "YYYNNNNYNYNYNY", "YNNNNNNYYNNNNN", "NYYYYYYNYNYNNN", "YYYYNNYYNNYYYN", "NNNNYYNNNNYNNN", "YNNYNNNYYYNYYY", "NNYNNYNNYNYNNY", "NNNYNNNNYNYNNN", "NNNYYYNNNNYYNN"}
Returns: 2664
{ "NYYYNNYNYNYNYN", "YNYYYNYYYYYYNY", "YYNYYYYNNYYNYY", "YYYNYNNYNYNYYY", "NYYYNNYNNYYYNY", "NNYNNNNNYYNNYN", "YYYNYNNNNYNYYY", "NYNYNNNNYNYNYY", "YYNNNYNYNYYYYN", "NYYYYYYNYNYYYY", "YYYNYNNYYYNNNN", "NYNYYNYNYYNNNY", "YNYYNYYYYYNNNY", "NYYYYNYYNYNYYN"}
Returns: 2784
{ "NYYYYYYYYYYYYY", "YNYYYYYYYYYYYY", "YYNYYYYYYYYYYY", "YYYNYYYYYYYYYY", "YYYYNYYYYYYYYY", "YYYYYNYYYYYYYY", "YYYYYYNYYYYYYY", "YYYYYYYNYYYYYY", "YYYYYYYYNYYYYY", "YYYYYYYYYNYYYY", "YYYYYYYYYYNYYY", "YYYYYYYYYYYNYY", "YYYYYYYYYYYYNY", "YYYYYYYYYYYYYN"}
Returns: 1264
{ "NYYNYNYNNYNNYYY", "YNYYNNNNYNNNYYN", "YYNYNNYNNYYNYNN", "NYYNYYNNNYNNNNY", "YNNYNNNNYYNNNNN", "NNNYNNNYNNYNNNY", "YNYNNNNYNNYNYYY", "NNNNNYYNNYYNYYN", "NYNNYNNNNNYNNNN", "YNYYYNNYNNNNNYY", "NNYNNYYYYNNNNNN", "NNNNNNNNNNNNYYN", "YYYNNNYYNNNYNNY", "YYNNNNYYNYNYNNY", "YNNYNYYNNYNNYYN"}
Returns: 7540
{ "NNNYYYYYNYNNNNY", "NNYYNYYNNYYNYYY", "NYNNYYYNYYNYNYY", "YYNNYYYYYNYNYYN", "YNYYNYYYYNYNNYY", "YYYYYNYYYNYYYYY", "YYYYYYNYYYNYYYY", "YNNYYYYNNYYNYYN", "NNYYYYYNNYYNYYY", "YYYNNNYYYNYNYYN", "NYNYYYNYYYNYYYY", "NNYNNYYNNNYNNNN", "NYNYNYYYYYYNNNN", "NYYYYYYYYYYNNNN", "YYYNYYYNYNYNNNN"}
Returns: 7424
{ "NYYYYYYYYYYYYYY", "YNNYNYYYYYYYYYY", "YNNYYYYYYYYYYYY", "YYYNYYYNYYYYYYY", "YNYYNYYYYYYYYYY", "YYYYYNYYYYNYYYY", "YYYYYYNYYYYYYYY", "YYYNYYYNYYYYYYY", "YYYYYYYYNYYYYYY", "YYYYYYYYYNYYYYN", "YYYYYNYYYYNYYYY", "YYYYYYYYYYYNYYY", "YYYYYYYYYYYYNYY", "YYYYYYYYYYYYYNY", "YYYYYYYYYNYYYYN"}
Returns: 432
{ "NYYYYYYYYYYYYYY", "YNYYYYYYYYYYYYY", "YYNYYYYYYYYYYYY", "YYYNYYYYYYYYYYY", "YYYYNYYYYYYYYYY", "YYYYYNYYYYYYYYY", "YYYYYYNYYYYYYYY", "YYYYYYYNYYYYYYY", "YYYYYYYYNYYYYYY", "YYYYYYYYYNYYYYY", "YYYYYYYYYYNYYYY", "YYYYYYYYYYYNYYY", "YYYYYYYYYYYYNYY", "YYYYYYYYYYYYYNY", "YYYYYYYYYYYYYYN"}
Returns: 4896
{ "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN"}
Returns: 0
{ "NYYYYYYYYYYYYYN", "YNYYYYYYYYYYYYN", "YYNYYYYYYYYYYYN", "YYYNYYYYYYYYYYN", "YYYYNYYYYYYYYYN", "YYYYYNYYYYYYYYN", "YYYYYYNYYYYYYYN", "YYYYYYYNYYYYYYN", "YYYYYYYYNYYYYYN", "YYYYYYYYYNYYYYN", "YYYYYYYYYYNYYYN", "YYYYYYYYYYYNYYN", "YYYYYYYYYYYYNYN", "YYYYYYYYYYYYYNN", "NNNNNNNNNNNNNNN" }
Returns: 0
{"NYYYNYYYYYYY", "YNYNYYYYYYYY", "YYNYYYYYYYYY", "YNYNYYYYYYYY", "NYYYNYYYYYYY", "YYYYYNYYYYYY", "YYYYYYNYYYYY", "YYYYYYYNYYYY", "YYYYYYYYNYYY", "YYYYYYYYYNYY", "YYYYYYYYYYNY", "YYYYYYYYYYYN" }
Returns: 6112
{"NYYYYYYYYYYYYYY", "YNYYYYYYYYYYYYY", "YYNYYYYYYYYYYYY", "YYYNYYYYYYYYYYY", "YYYYNYYYYYYYYYY", "YYYYYNYYYYYYYYY", "YYYYYYNYYYYYYYY", "YYYYYYYNYYYYYYY", "YYYYYYYYNYYYYYY", "YYYYYYYYYNYYYYY", "YYYYYYYYYYNYYYY", "YYYYYYYYYYYNYYY", "YYYYYYYYYYYYNYY", "YYYYYYYYYYYYYNY", "YYYYYYYYYYYYYYN" }
Returns: 4896
{"NYYYNYYYYYNYYYY", "YNYYYYYYYNNYYYY", "YYNYYNYYNYYYYYY", "YYYNYYYYYYNNNYN", "NYYYNNYYYYYYYYY", "YYNYNNYYYYYYYYY", "YYYYYYNYYYYYYYY", "YYYYYYYNYNYYYYY", "YYNYYYYYNYNYYYY", "YNYYYYYNYNYYYYY", "NNYNYYYYNYNYYYY", "YYYNYYYYYYYNYYY", "YYYNYYYYYYYYNNY", "YYYYYYYYYYYYNNY", "YYYNYYYYYYYYYYN" }
Returns: 2704