Statistics

Problem Statement for "SkewSymmetric"

Problem Statement

A skew symmetric matrix M satisfies MT = -M, where MT denotes the transpose of the matrix M and -M denotes the matrix obtained by multiplying each entry of M by -1. The transpose of a matrix M is obtained by replacing the element in the i'th row and j'th column of M with the element in the j'th row and i'th column of M. Note that this requires the diagonal elements of a skew-symmetric matrix to be equal to 0.

Create a class SkewSymmetric which contains a method minChanges. The method will take a String[] M, each element of which is a single space separated list of integers. The j'th number in the i'th element of M represents the value at row i and column j of the matrix. The method should return the minimum number of values in M that must be changed such that the resulting matrix is skew symmetric.

Definition

Class:
SkewSymmetric
Method:
minChanges
Parameters:
String[]
Returns:
int
Method signature:
int minChanges(String[] M)
(be sure your method is public)

Constraints

  • M will contain between 2 and 10 elements, inclusive.
  • Each element of M will be a single space separated list of exactly n integers, where n is the number of elements in M.
  • Each element of M will contain between 1 and 50 characters, inclusive.
  • Each integer in M will be between -99 and 99 inclusive, with no extra leading zeros.
  • The integer zero will be represented as '0' (quotes for clarity) only, and not '-0' (quotes for clarity) in M.

Examples

  1. {"1 2 8", "-2 1 0", "3 99 3"}

    Returns: 5

    One possible skew-symmetric matrix obtained by changing 5 elements in M is: 0 2 -3 -2 0 -99 3 99 0 Note that the diagonal elements must be 0.

  2. {"1 2 8 10", "-2 1 0 3", "3 99 3 2", "0 0 0 1"}

    Returns: 9

  3. {"0 1", "-1 0"}

    Returns: 0

  4. {"0 1 1 1 1 1", "-1 0 1 1 1 1", "-1 -1 0 1 1 1", "-1 -1 -1 0 1 1", "-1 -1 -1 -1 0 1", "0 0 0 0 0 0"}

    Returns: 5

  5. {"0 0 0 0", "0 0 0 0", "0 0 0 0", "0 0 0 0"}

    Returns: 0

  6. {"-34 -20 24 60 -53 -6 -62 -28", "-35 -75 92 77 -58 -66 -20 -58", "-13 -26 -1 -26 37 49 33 -37", "-27 15 98 -78 -79 -6 -24 6", "-95 -57 -11 -47 -15 -83 90 -12", "16 24 9 -91 17 99 -28 -75", "-87 -92 -91 -3 -60 -48 -50 0", "-50 -6 -36 46 -77 88 27 -90"}

    Returns: 36

  7. {"90 -39 -43 -83 -90 87 0 16", "60 -79 11 71 99 95 -7 53", "-86 77 -54 53 -27 31 57 70", "8 54 21 27 -37 26 9 -63", "32 89 8 5 -4 89 -10 96", "73 -83 64 -43 26 -45 36 -37", "73 -83 40 -3 85 -38 87 73", "36 92 -96 98 -25 -15 26 -22"}

    Returns: 36

  8. {"75 65 -38 -26 -61 74", "49 58 -23 -74 -7 -84", "-8 81 0 34 86 1", "95 -95 87 36 84 95", "-34 37 -17 -2 75 6", "-69 54 54 -31 -49 32"}

    Returns: 20

  9. {"99 75", "9 65"}

    Returns: 3

  10. {"90 -77 65", "-97 -45 -11", "-34 71 -31"}

    Returns: 6

  11. {"95 -43 6 27 57 85 63 -3", "-56 -28 -37 67 -94 -4 33 -47", "-79 28 -89 -91 -24 86 58 -78", "36 -25 -58 -50 26 1 70 9", "-39 -57 -35 -4 -53 -37 -36 -27", "66 -73 36 2 54 91 -90 -2", "29 -65 -38 -63 39 57 -71 -7", "-36 10 16 -76 -89 -25 44 17"}

    Returns: 36

  12. {"-85 -62 -19", "6 9 -98", "-46 18 23"}

    Returns: 6

  13. {"81 -97 52 -29", "28 20 17 83", "34 -2 -71 14", "21 -92 39 -66"}

    Returns: 10

  14. {"86 -66 -71 91 -14 -51", "82 -13 -43 -12 70 -9", "59 13 -83 28 8 -43", "-18 -49 -88 -88 76 -25", "-85 39 2 28 86 -93", "-80 -73 -98 54 76 76"}

    Returns: 21

  15. {"-39 24 56 68 36 -85 10", "-72 29 7 -32 17 57 -36", "61 -49 -26 -32 41 72 0", "-36 16 93 67 -92 37 37", "71 77 38 38 34 -50 31", "75 -39 49 10 -47 73 -56", "11 -74 48 51 53 89 13"}

    Returns: 28

  16. {"-73 82 -60", "80 -68 83", "-25 -27 69"}

    Returns: 6

  17. {"-69 23 10 -28 -8 9 -12", "-29 -86 -83 33 -50 -79 -57", "94 -71 63 57 -29 -93 41", "-88 -70 -6 -21 -58 -64 87", "-74 80 48 -27 47 19 -96", "8 24 60 -96 -95 -81 57", "-42 -78 83 55 -4 19 17"}

    Returns: 28

  18. {"-81 45 -6 35 -64 28 -38", "87 -76 69 -56 -69 -71 -82", "84 49 -33 15 -88 -78 33", "-22 6 -35 -8 14 -64 21", "25 -84 91 35 -22 44 -75", "96 -45 -99 86 -4 41 73", "-54 5 90 -88 32 -1 76"}

    Returns: 28

  19. {"66 -9 -70 59 -17 -46", "22 6 42 -6 -43 -4", "-16 -25 33 -6 -73 93", "-88 -57 -92 48 -67 -19", "-1 66 -77 -20 91 97", "43 -1 53 68 -68 -95"}

    Returns: 21

  20. {"-51 -65 -42", "-15 17 34", "4 -48 -90"}

    Returns: 6

  21. {"59 -17 20 5 -70 -66 38 4 -42", "-52 52 -68 27 -61 4 10 85 61", "-68 92 -81 0 -45 32 91 58 -45", "58 -24 -98 22 -30 28 18 82 -29", "26 -18 19 -76 19 -88 -69 -19 -10", "84 -69 25 46 82 -99 -62 22 86", "89 86 -72 -79 -92 5 -66 -13 7", "-1 -18 -59 78 -43 7 -39 -76 -45", "70 40 -33 0 58 39 80 93 5"}

    Returns: 45

  22. {"-96 54 -33 76 2 72 -97", "-75 -58 12 -77 -81 -60 43", "-29 15 -41 -51 -71 25 26", "19 -86 -79 36 -66 0 -23", "28 87 95 89 0 78 90", "-52 58 61 55 81 -82 -82", "54 45 -53 91 -10 0 -9"}

    Returns: 27

  23. {"64 21", "44 -97"}

    Returns: 3

  24. {"56 -76 -95", "-66 -43 -6", "-74 -17 -35"}

    Returns: 6

  25. {"28 16", "62 -88"}

    Returns: 3

  26. {"53 83", "28 -33"}

    Returns: 3

  27. {"86 49 -59 -29 -88 1", "-45 -15 19 43 -55 -67", "92 -8 55 40 19 4", "64 94 99 -57 -30 -27", "58 -54 58 97 -96 47", "84 -86 -95 -14 -57 -76"}

    Returns: 21

  28. {"14 71 75 58 -57 47 -53 -48 11", "-83 -55 -55 26 -33 -34 29 -72 93", "11 -29 -30 7 50 4 86 -53 69", "-61 65 96 -51 87 10 -9 -7 -74", "65 -65 -22 1 -38 -92 -37 -66 3", "-45 2 -1 91 -43 -7 -81 -63 70", "-9 -61 81 -69 86 -78 64 10 75", "4 80 -78 58 92 15 -29 -12 -74", "-58 39 35 -97 -91 -15 17 -55 -78"}

    Returns: 45

  29. {"-49 82 -70 14 -44 -83", "-87 -11 -29 -37 30 -46", "-47 -74 68 -90 -76 -2", "-5 5 26 -8 -9 60", "-22 -27 -14 59 62 -85", "-34 -9 -71 -75 -70 16"}

    Returns: 21

  30. {"-42 -66 8", "-12 -61 94", "-20 -9 -19"}

    Returns: 6

  31. {"-60 -41 -83 -8 -5 15", "-65 1 -55 -27 43 -99", "-23 -42 -69 67 98 -94", "-7 -36 0 -85 -31 -44", "-86 86 18 -56 87 -30", "27 -13 73 -16 87 -94"}

    Returns: 21

  32. {"-33 94", "76 48"}

    Returns: 3

  33. {"14 -3 -7 61 -75 93 -95", "0 90 -26 51 73 87 -20", "89 -17 -51 50 -9 -79 0", "-42 -6 -99 -18 -42 -46 40", "-89 82 5 85 99 -18 -77", "51 -92 7 79 79 -84 41", "81 32 66 28 -91 -96 -12"}

    Returns: 28

  34. {"-60 -98", "85 -61"}

    Returns: 3

  35. {"34 90 12 -12 -68 -86 -35 -9", "-14 -16 -8 -82 39 -3 -33 47", "39 39 90 -90 77 -99 50 23", "67 -4 -36 -76 -81 42 -50 86", "8 -79 1 99 44 42 -35 41", "-2 -2 -53 -77 42 49 -74 24", "-61 -57 -60 19 -14 74 -4 -22", "65 45 72 -58 -56 -1 -84 36"}

    Returns: 35

  36. {"91 -93", "-93 79"}

    Returns: 3

  37. {"90 91 -64 53 56 64 -71 79", "-15 26 31 -23 76 93 90 80", "-44 -72 77 31 83 -60 -3 84", "99 18 -69 39 -27 -27 44 99", "39 -9 -48 -27 -16 -66 -53 -16", "-34 -7 -7 -97 13 -49 60 -93", "99 -1 -89 -88 19 5 75 -53", "-11 5 -57 82 -51 -89 39 91"}

    Returns: 36

  38. {"-51 -5 -60 -5 94 65 -92 71 59", "20 -80 -15 15 -89 68 51 42 -24", "-5 40 -65 -5 21 -96 -73 0 84", "13 -32 -51 48 -12 -77 -16 -22 -97", "21 -53 76 -17 -13 36 -42 73 80", "71 -55 -59 3 22 36 17 -1 41", "-21 49 75 -70 30 20 -81 25 -11", "56 61 -97 -17 -31 -91 -79 0 -27", "-63 42 8 83 49 -10 -36 -83 55"}

    Returns: 44

  39. {"-4 0 -79 10 -58 60 -43", "78 -28 -52 39 -4 18 95", "-98 32 -63 -72 64 -87 91", "76 43 -22 -69 -9 -70 88", "-90 63 58 49 64 42 47", "90 -10 -79 -23 -60 -40 -72", "-22 4 76 -48 3 -65 66"}

    Returns: 28

  40. {"-69 -64 85 -36 -15", "-16 47 -80 -59 55", "-24 -80 -2 -60 4", "60 -18 -6 32 -88", "-32 -80 -80 -71 -88"}

    Returns: 15

  41. {"35 32 64 -24 -83 -92 93", "-92 -22 -3 79 34 -70 -20", "-49 -34 -49 -90 -90 -73 -20", "-15 -92 93 98 -38 35 24", "49 -30 -67 49 -92 66 -72", "-44 57 -28 -58 -90 95 42", "-6 -33 -73 34 21 -1 93"}

    Returns: 28

  42. {"53 -78", "-37 -87"}

    Returns: 3

  43. {"-94 -10 -81 24 -83 64 -19 -54", "77 49 23 3 30 -36 49 -38", "-38 -2 40 21 -87 -87 -13 18", "-28 84 -42 -14 99 -83 57 -76", "12 40 52 1 40 -57 -44 -33", "2 59 -60 -53 99 83 15 -90", "-76 79 56 84 30 47 53 -60", "68 -82 64 -74 -61 -84 -79 -8"}

    Returns: 36

  44. {"40 -83 -73 -27", "81 7 -30 -51", "53 -64 0 97", "-52 30 -19 43"}

    Returns: 9

  45. {"53 -55 33 80 -6 18 -45 -14", "-49 24 -22 30 0 36 63 76", "90 -64 78 -4 -12 -73 74 78", "99 49 96 -41 40 -71 -56 98", "29 85 15 56 -13 98 -75 75", "72 0 9 -52 50 55 3 99", "-33 17 82 -99 -13 0 -95 -53", "-47 32 98 -56 54 3 46 -98"}

    Returns: 36

  46. {"83 20 24 -44 79 -9", "86 -75 1 96 -31 -15", "56 60 -99 79 50 53", "-36 94 3 95 10 16", "49 30 -44 -12 -84 97", "5 57 -61 -6 -82 81"}

    Returns: 21

  47. {"40 51 -32 7 -40 -71 -12 12 14", "-54 -7 87 -34 18 84 -86 74 -87", "-56 -44 58 -29 -66 -56 82 20 -57", "-98 30 -71 -9 -92 -39 19 29 74", "6 -22 83 29 -24 -51 43 54 -84", "-36 -63 47 6 25 -56 58 43 80", "-61 -62 -7 15 3 76 95 -43 53", "-4 46 -14 -46 74 -38 -3 59 47", "87 -35 24 53 11 -10 58 -96 26"}

    Returns: 45

  48. {"-3 -32 17 67", "91 -64 -2 -81", "29 62 53 52", "60 -81 79 57"}

    Returns: 10

  49. {"-65 -10 -4", "-38 -29 -35", "79 50 -83"}

    Returns: 6

  50. {"61 -56 87 -15 -34 -46 -86 21", "-49 -35 -96 24 -44 -47 -65 -87", "97 84 -72 89 42 83 -31 -43", "79 -72 -65 1 97 -58 42 -5", "61 56 -49 52 43 -40 -95 59", "65 71 -84 50 -7 -89 -51 40", "62 -79 98 -97 80 11 76 74", "37 82 55 -88 12 -91 92 64"}

    Returns: 36

  51. {"8 -60 -17 -87 89 -30 4 93", "34 59 -95 47 20 -87 57 -52", "44 76 44 -19 13 -75 90 92", "70 54 5 77 -32 -29 -81 39", "2 -90 -70 86 20 98 48 48", "22 22 -47 32 76 -1 -2 -19", "83 32 -91 61 -97 -66 -52 25", "16 -69 58 87 -76 -8 17 92"}

    Returns: 36

  52. {"-19 35 13", "-37 -22 -61", "5 -78 45"}

    Returns: 6

  53. {"35 -38 64 5 67 -24 -76", "78 -16 -91 -80 -57 -54 -55", "-22 -91 48 -4 -13 34 92", "-40 4 -35 -6 7 99 -4", "-11 27 -97 -97 -74 54 -13", "98 -69 -81 19 -71 6 -83", "-8 71 17 45 64 -97 52"}

    Returns: 28

  54. {"86 13 -60 64 98", "-47 -76 13 -90 45", "65 73 -57 57 -55", "-86 45 -33 -57 -59", "-63 -57 -84 -61 -78"}

    Returns: 15

  55. {"-53 -96 -14", "56 -35 79", "-41 -50 28"}

    Returns: 6

  56. {"-5 -14 -82 -34 78 -69 60 -11", "56 -57 79 -28 43 -80 73 89", "85 45 -73 -95 2 34 -38 -36", "-61 33 85 90 41 -86 11 93", "-57 92 -88 97 -61 42 45 41", "-97 -40 -28 -87 25 -77 58 69", "-97 -43 38 -20 56 57 64 33", "12 0 -98 40 16 36 -42 -63"}

    Returns: 35

  57. {"-30 -76 58 4 10 -71 38 61 98", "41 -53 -73 38 -39 -16 32 71 87", "-77 94 59 -28 17 -92 65 -40 29", "59 -93 99 -91 -73 -41 -91 96 -16", "-66 -75 -89 65 84 -93 4 88 42", "-73 -20 -29 -48 98 55 -2 -6 -28", "23 68 -76 31 -9 -21 -86 -38 68", "95 -68 75 59 -59 -40 -47 43 2", "-54 34 -21 15 27 96 24 74 58"}

    Returns: 45

  58. {"10 9 87 -36 61 -81 98 -95", "-91 8 -15 -91 -84 -67 -12 89", "-45 74 30 57 15 -44 -67 -65", "-53 0 29 -50 0 -68 -62 -88", "91 3 41 4 88 52 87 -64", "40 43 91 -63 45 25 12 -17", "70 17 -48 41 -39 -26 -83 -31", "3 -48 -55 -1 65 28 -68 54"}

    Returns: 36

  59. {"-93 -23 -49 -18 -74", "-37 18 -79 -51 41", "-93 -49 7 55 14", "-4 -35 -56 63 35", "-21 -51 10 -71 13"}

    Returns: 15

  60. {"24 -18 -26", "33 93 53", "57 -19 96"}

    Returns: 6

  61. {"71 -88 93 26 88 89", "-98 11 82 43 -83 -66", "-85 -27 76 74 -87 -55", "-75 99 -31 -73 0 -55", "-96 -82 71 -46 62 -3", "-7 -56 -39 89 -26 56"}

    Returns: 21

  62. {"-38 51 0 62", "-33 99 -32 -87", "70 99 -51 -32", "-59 -47 25 -79"}

    Returns: 10

  63. {"-74 54 -59 -78 -49 -44 15", "-30 -9 22 14 -25 -89 -36", "44 -46 44 99 0 -77 88", "51 91 -40 50 25 26 20", "30 -69 -84 -9 20 -1 -76", "-33 23 6 67 92 82 87", "64 -36 45 -70 70 -27 56"}

    Returns: 28

  64. {"0 1 2 3 4 5 6 7 8 9", "-1 0 2 3 4 5 6 7 8 9", "-1 -2 0 3 4 5 6 7 8 9", "-1 -2 -3 0 4 5 6 7 8 9", "-1 -2 -3 -4 0 5 6 7 8 9", "-1 -2 -3 -4 -5 0 6 7 8 9", "-1 -2 -3 -4 -5 -6 0 7 8 9", "-1 -2 -3 -4 -5 -6 -7 0 8 9", "-1 -2 -3 -4 -5 -6 -7 -8 0 9", "-1 -2 -3 -4 -5 -6 -7 8 -9 0"}

    Returns: 36

  65. {"0 10 20 30 40 50 60 70 80 90", "-10 0 20 30 40 50 60 70 80 90", "-20 -20 0 30 40 50 60 70 80 90", "-30 -30 -30 0 40 50 60 70 80 90", "-40 -40 -40 -40 0 50 60 70 80 90", "-50 -50 -50 -50 -50 0 60 70 80 90", "-60 -60 -60 -60 -60 -60 0 70 80 90", "-70 -70 -70 -70 -70 -70 -70 0 80 90", "-80 -80 -80 -80 -80 -80 -80 -80 0 90", "-90 -90 -90 -90 -90 -90 -90 -90 -90 0"}

    Returns: 0

  66. {"1 0", "0 1"}

    Returns: 2

  67. {"0 1 1 1 1 1", "-1 0 1 1 1 1", "-1 -1 0 1 1 1", "-1 -1 -1 0 1 1", "-1 -1 -1 -1 0 1", "0 0 0 0 0 0" }

    Returns: 5

  68. {"1 2 8", "-2 1 0", "3 99 3" }

    Returns: 5

  69. {"0 35 45", "-35 0 4", "-45 -4 0" }

    Returns: 0

  70. {"0 1", "0 0" }

    Returns: 1

  71. {"0 10 0", "-10 0 0", "0 0 0" }

    Returns: 0

  72. {"0 21", "1 0" }

    Returns: 1

  73. {"2 5 8 97 45 2", "4 7 8 9 2 1", "1 2 4 5 6 3", "5 88 99 66 4 7", "2 4 55 7 12 56", "55 7 95 78 42 1" }

    Returns: 21

  74. {"0 1", "1 0" }

    Returns: 1

  75. {"1 0 0 0 0 0 0 0 0 0", "0 1 0 0 0 0 0 0 0 0", "0 0 1 0 0 0 0 0 0 0", "0 0 0 1 0 0 0 0 0 0", "0 0 0 0 1 0 0 0 0 0", "0 0 0 0 0 1 0 0 0 0", "0 0 0 0 0 0 1 0 0 0", "0 0 0 0 0 0 0 1 0 0", "0 0 0 0 0 0 0 0 1 0", "0 0 0 0 0 0 0 0 0 1" }

    Returns: 10

  76. {"0 2", "2 0" }

    Returns: 1

  77. {"1 3", "3 1" }

    Returns: 3


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: