Statistics

Problem Statement for "FakeReportData"

Problem Statement

We are writing a report. The report should contain some data. We do not have any, because we spent all the research money on carousel rides instead. Thus, we need to fake some data. More precisely, you need to do it, according to the following instructions:

The data should consist of N positive integers. Each of the integers should have exactly D digits. And we need to make them look "random". Thus, the numbers must satisfy the following:

  • The first digits of all our integers must be distinct.
  • The last digits of all our integers must be distinct.
  • Within each integer the digits must be distinct.

Find any such collection of integers and return it in a int[].

Definition

Class:
FakeReportData
Method:
generate
Parameters:
int, int
Returns:
int[]
Method signature:
int[] generate(int N, int D)
(be sure your method is public)

Constraints

  • N will be between 1 and 9, inclusive.
  • D will be between 1 and 9, inclusive.

Examples

  1. 3

    5

    Returns: {12947, 31094, 41093 }

    We need three 5-digit numbers. The returned numbers 12947, 31094 and 41093 satisfy all the requirements: The leading digits (1, 3, 4) are all distinct. The trailing digits (7, 4, 3) are all distinct. Within each number the digits are distinct.

  2. 5

    3

    Returns: {710, 471, 329, 105, 987 }

  3. 7

    1

    Returns: {3, 1, 4, 5, 9, 2, 6 }

    Any seven of the numbers 1 through 9 will be a correct answer. Note that the returned array cannot contain 0: all the integers are required to be positive.

  4. 1

    1

    Returns: {1 }

  5. 1

    2

    Returns: {12 }

  6. 1

    3

    Returns: {123 }

  7. 1

    4

    Returns: {1234 }

  8. 1

    5

    Returns: {12345 }

  9. 1

    6

    Returns: {123456 }

  10. 1

    7

    Returns: {1234567 }

  11. 1

    8

    Returns: {12345678 }

  12. 1

    9

    Returns: {123456789 }

  13. 2

    1

    Returns: {1, 2 }

  14. 2

    2

    Returns: {12, 23 }

  15. 2

    3

    Returns: {123, 234 }

  16. 2

    4

    Returns: {1234, 2345 }

  17. 2

    5

    Returns: {12345, 23456 }

  18. 2

    6

    Returns: {123456, 234567 }

  19. 2

    7

    Returns: {1234567, 2345678 }

  20. 2

    8

    Returns: {12345678, 23456789 }

  21. 2

    9

    Returns: {123456789, 234567891 }

  22. 3

    1

    Returns: {1, 2, 3 }

  23. 3

    2

    Returns: {12, 23, 34 }

  24. 3

    3

    Returns: {123, 234, 345 }

  25. 3

    4

    Returns: {1234, 2345, 3456 }

  26. 3

    6

    Returns: {123456, 234567, 345678 }

  27. 3

    7

    Returns: {1234567, 2345678, 3456789 }

  28. 3

    8

    Returns: {12345678, 23456789, 34567891 }

  29. 3

    9

    Returns: {123456789, 234567891, 345678912 }

  30. 4

    1

    Returns: {1, 2, 3, 4 }

  31. 4

    2

    Returns: {12, 23, 34, 45 }

  32. 4

    3

    Returns: {123, 234, 345, 456 }

  33. 4

    4

    Returns: {1234, 2345, 3456, 4567 }

  34. 4

    5

    Returns: {12345, 23456, 34567, 45678 }

  35. 4

    6

    Returns: {123456, 234567, 345678, 456789 }

  36. 4

    7

    Returns: {1234567, 2345678, 3456789, 4567891 }

  37. 4

    8

    Returns: {12345678, 23456789, 34567891, 45678912 }

  38. 4

    9

    Returns: {123456789, 234567891, 345678912, 456789123 }

  39. 5

    1

    Returns: {1, 2, 3, 4, 5 }

  40. 5

    2

    Returns: {12, 23, 34, 45, 56 }

  41. 5

    4

    Returns: {1234, 2345, 3456, 4567, 5678 }

  42. 5

    5

    Returns: {12345, 23456, 34567, 45678, 56789 }

  43. 5

    6

    Returns: {123456, 234567, 345678, 456789, 567891 }

  44. 5

    7

    Returns: {1234567, 2345678, 3456789, 4567891, 5678912 }

  45. 5

    8

    Returns: {12345678, 23456789, 34567891, 45678912, 56789123 }

  46. 5

    9

    Returns: {123456789, 234567891, 345678912, 456789123, 567891234 }

  47. 6

    1

    Returns: {1, 2, 3, 4, 5, 6 }

  48. 6

    2

    Returns: {12, 23, 34, 45, 56, 67 }

  49. 6

    3

    Returns: {123, 234, 345, 456, 567, 678 }

  50. 6

    4

    Returns: {1234, 2345, 3456, 4567, 5678, 6789 }

  51. 6

    5

    Returns: {12345, 23456, 34567, 45678, 56789, 67891 }

  52. 6

    6

    Returns: {123456, 234567, 345678, 456789, 567891, 678912 }

  53. 6

    7

    Returns: {1234567, 2345678, 3456789, 4567891, 5678912, 6789123 }

  54. 6

    8

    Returns: {12345678, 23456789, 34567891, 45678912, 56789123, 67891234 }

  55. 6

    9

    Returns: {123456789, 234567891, 345678912, 456789123, 567891234, 678912345 }

  56. 7

    2

    Returns: {12, 23, 34, 45, 56, 67, 78 }

  57. 7

    3

    Returns: {123, 234, 345, 456, 567, 678, 789 }

  58. 7

    4

    Returns: {1234, 2345, 3456, 4567, 5678, 6789, 7891 }

  59. 7

    5

    Returns: {12345, 23456, 34567, 45678, 56789, 67891, 78912 }

  60. 7

    6

    Returns: {123456, 234567, 345678, 456789, 567891, 678912, 789123 }

  61. 7

    7

    Returns: {1234567, 2345678, 3456789, 4567891, 5678912, 6789123, 7891234 }

  62. 7

    8

    Returns: {12345678, 23456789, 34567891, 45678912, 56789123, 67891234, 78912345 }

  63. 7

    9

    Returns: {123456789, 234567891, 345678912, 456789123, 567891234, 678912345, 789123456 }

  64. 8

    1

    Returns: {1, 2, 3, 4, 5, 6, 7, 8 }

  65. 8

    2

    Returns: {12, 23, 34, 45, 56, 67, 78, 89 }

  66. 8

    3

    Returns: {123, 234, 345, 456, 567, 678, 789, 891 }

  67. 8

    4

    Returns: {1234, 2345, 3456, 4567, 5678, 6789, 7891, 8912 }

  68. 8

    5

    Returns: {12345, 23456, 34567, 45678, 56789, 67891, 78912, 89123 }

  69. 8

    6

    Returns: {123456, 234567, 345678, 456789, 567891, 678912, 789123, 891234 }

  70. 8

    7

    Returns: {1234567, 2345678, 3456789, 4567891, 5678912, 6789123, 7891234, 8912345 }

  71. 8

    8

    Returns: {12345678, 23456789, 34567891, 45678912, 56789123, 67891234, 78912345, 89123456 }

  72. 8

    9

    Returns: {123456789, 234567891, 345678912, 456789123, 567891234, 678912345, 789123456, 891234567 }

  73. 9

    1

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 9 }

  74. 9

    2

    Returns: {12, 23, 34, 45, 56, 67, 78, 89, 91 }

  75. 9

    3

    Returns: {123, 234, 345, 456, 567, 678, 789, 891, 912 }

  76. 9

    4

    Returns: {1234, 2345, 3456, 4567, 5678, 6789, 7891, 8912, 9123 }

  77. 9

    5

    Returns: {12345, 23456, 34567, 45678, 56789, 67891, 78912, 89123, 91234 }

  78. 9

    6

    Returns: {123456, 234567, 345678, 456789, 567891, 678912, 789123, 891234, 912345 }

  79. 9

    7

    Returns: {1234567, 2345678, 3456789, 4567891, 5678912, 6789123, 7891234, 8912345, 9123456 }

  80. 9

    8

    Returns: {12345678, 23456789, 34567891, 45678912, 56789123, 67891234, 78912345, 89123456, 91234567 }

  81. 9

    9

    Returns: {123456789, 234567891, 345678912, 456789123, 567891234, 678912345, 789123456, 891234567, 912345678 }


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: