Problem Statement
Definition
- Class:
- GeneralChess
- Method:
- attackPositions
- Parameters:
- String[]
- Returns:
- String[]
- Method signature:
- String[] attackPositions(String[] pieces)
- (be sure your method is public)
Constraints
- pieces will contain between 1 and 8 elements, inclusive.
- Each element in pieces will be formatted as "
, " (quotes and angle brackets for clarity). - Each
will be an integer between -10000 and 10000, inclusive and will not contain leading zeros. - Each
will be an integer between -10000 and 10000, inclusive and will not contain leading zeros. - Each element in pieces will be unique.
Examples
{"0,0"}
Returns: { "-2,-1", "-2,1", "-1,-2", "-1,2", "1,-2", "1,2", "2,-1", "2,1" }
This location is threatened from eight different places.
{"2,1", "-1,-2"}
Returns: { "0,0", "1,-1" }
A knight may be in two places such that both pieces are threatened. In chess, placing your pieces in such positions is usually undesirable when your opponent has a knight.
{"0,0", "2,1"}
Returns: { }
{"-1000,1000", "-999,999", "-999,997"}
Returns: { "-1001,998" }
No three pieces can ever be threatened by a knight from more than one position.
{"-10000,-10000"}
Returns: { "-10002,-10001", "-10002,-9999", "-10001,-10002", "-10001,-9998", "-9999,-10002", "-9999,-9998", "-9998,-10001", "-9998,-9999" }
{"10000,10000"}
Returns: { "9998,9999", "9998,10001", "9999,9998", "9999,10002", "10001,9998", "10001,10002", "10002,9999", "10002,10001" }
{"-10000,10000"}
Returns: { "-10002,9999", "-10002,10001", "-10001,9998", "-10001,10002", "-9999,9998", "-9999,10002", "-9998,9999", "-9998,10001" }
{"10000,-10000"}
Returns: { "9998,-10001", "9998,-9999", "9999,-10002", "9999,-9998", "10001,-10002", "10001,-9998", "10002,-10001", "10002,-9999" }
{"2,1", "2,-1", "1,2", "1,-2", "-2,1", "-2,-1", "-1,2", "-1,-2"}
Returns: { "0,0" }
{"-10000,-10000", "-9997,-9997"}
Returns: { "-9999,-9998", "-9998,-9999" }
{"10000,10000", "9997,9997"}
Returns: { "9998,9999", "9999,9998" }
{"2,1", "2,-1", "1,2", "1,-2", "-2,1", "-2,-1", "-1,2", "-1,-3"}
Returns: { }
{"2,1", "2,-1", "1,2", "1,-2", "-2,1", "-2,-1", "-1,2"}
Returns: { "0,0" }
{"2,1", "1,2", "-2,1", "1,-2"}
Returns: { "0,0" }
{"10000,10000", "-10000,10000", "10000,-10000", "-10000,-10000"}
Returns: { }
{"0,0", "2,2"}
Returns: { }
{"0,0", "1,1"}
Returns: { "-1,2", "2,-1" }
{"0,0", "-1,-1"}
Returns: { "-2,1", "1,-2" }
{"-2,-2", "0,0"}
Returns: { }
{"2,1", "1,-2", "-2,1", "-2,-1", "-1,2"}
Returns: { "0,0" }
{"-9999,-9999"}
Returns: { "-10001,-10000", "-10001,-9998", "-10000,-10001", "-10000,-9997", "-9998,-10001", "-9998,-9997", "-9997,-10000", "-9997,-9998" }
{ "0,0", "2,1" }
Returns: { }
{ "2,1", "-1,-2" }
Returns: { "0,0", "1,-1" }
{ "10000,10000" }
Returns: { "9998,9999", "9998,10001", "9999,9998", "9999,10002", "10001,9998", "10001,10002", "10002,9999", "10002,10001" }
{ "-10000,10000", "-9999,9999", "-9999,9997" }
Returns: { "-10001,9998" }
{ "-10000,-10000", "10000,10000", "500,501" }
Returns: { }
{ "-10000,-10000", "10000,10000", "-10000,10000", "10000,-10000" }
Returns: { }
{ "0,3", "3,0", "2,1" }
Returns: { }
{ "0,0" }
Returns: { "-2,-1", "-2,1", "-1,-2", "-1,2", "1,-2", "1,2", "2,-1", "2,1" }
{ "-9999,2", "-9999,0" }
Returns: { "-10001,1", "-9997,1" }
{ "42,5" }
Returns: { "40,4", "40,6", "41,3", "41,7", "43,3", "43,7", "44,4", "44,6" }
{ "-3,0" }
Returns: { "-5,-1", "-5,1", "-4,-2", "-4,2", "-2,-2", "-2,2", "-1,-1", "-1,1" }