Statistics

Problem Statement for "KnightOfIntegerland"

Problem Statement

You are a knight of the Integerland. You are located at (0, 0) and you want to go to (x, y). You move in a way that is similar to a chess knight. You can be described by a int d. In each step, you may move to any point such that both its coordinates are integers, and its Euclidean distance from your current point is precisely sqrt(d).
You are given the ints d, x, and y. Return "YES" if you can arrive at (x, y) in a finite number of moves, and "NO" otherwise.

Definition

Class:
KnightOfIntegerland
Method:
able
Parameters:
int, int, int
Returns:
String
Method signature:
String able(int d, int x, int y)
(be sure your method is public)

Notes

  • In the problem statement, sqrt(d) denotes the square root of d.
  • The Euclidean distance between two points (x1, y1) and (x2, y2) is equal to sqrt((x1-x2)^2 + (y1-y2)^2).
  • There is no limit on the coordinates of points visited during your journey. In particular, they are allowed to be outside of the rectangle with corners (0, 0) and (x, y).

Constraints

  • d will be between 1 and 1,000,000,000, inclusive.
  • x will be between -1,000,000,000 and 1,000,000,000, inclusive.
  • y will be between -1,000,000,000 and 1,000,000,000, inclusive.

Examples

  1. 25

    1

    0

    Returns: "YES"

    The distance covered by each of your steps must be sqrt(25)=5. You can reach (1, 0) in this way: (0, 0) -> (3, 4) -> (6, 0) -> (1, 0).

  2. 25

    2276

    -9059

    Returns: "YES"

    From any point (x, y) we can reach (x+1, y) as shown in Example 0. Also, from any point (x, y) we can reach (x, y-1) using a similar sequence of moves. Hence, it is possible to get from (0, 0) to (2276,-9059) by repeating the first sequence of moves 2276 times and then the second sequence of moves 9059 times.

  3. 5

    58585858

    85858585

    Returns: "YES"

    For d=5 you move like a chess knight. It is well known that the chess knight can reach any cell on an infinite chessboard.

  4. 4

    47474747

    74747474

    Returns: "NO"

    It's easy to see that for any point (x, y) you can reach, x and y must be both even.

  5. 169

    2

    0

    Returns: "YES"

    One of the solutions is: (0, 0) -> (13, 0) -> (1, 5) -> (14, 5) -> (2, 0).

  6. 3

    1

    1

    Returns: "NO"

    In this case you can't achieve any integer point other than (0, 0).

  7. 382621149

    838804090

    -451572978

    Returns: "NO"

  8. 77843137

    522507003

    -951731302

    Returns: "YES"

  9. 838915904

    -42156413

    -723603296

    Returns: "NO"

  10. 383801202

    -969518505

    69443379

    Returns: "YES"

  11. 127457370

    -9008670

    -573217785

    Returns: "NO"

  12. 329195605

    60167613

    -30706393

    Returns: "YES"

  13. 817027042

    859734983

    -635985221

    Returns: "YES"

  14. 658593989

    279149883

    940017988

    Returns: "YES"

  15. 967357453

    -857923323

    -660311840

    Returns: "YES"

  16. 399864644

    749823176

    -682616672

    Returns: "YES"

  17. 30193553

    -75250549

    797404855

    Returns: "YES"

  18. 789203780

    373464307

    -983802252

    Returns: "NO"

  19. 229997941

    -710840161

    -561945280

    Returns: "YES"

  20. 527041709

    -599445342

    857549976

    Returns: "YES"

  21. 876922996

    445482252

    353476416

    Returns: "YES"

  22. 831212980

    -757226114

    123863830

    Returns: "YES"

  23. 660387562

    -338640403

    261592188

    Returns: "NO"

  24. 195892225

    666311240

    -993018054

    Returns: "YES"

  25. 248748320

    756675240

    444512744

    Returns: "YES"

  26. 256670933

    401208468

    -615244468

    Returns: "YES"

  27. 657357128

    827331300

    -781395323

    Returns: "NO"

  28. 852344642

    -687473411

    665625643

    Returns: "YES"

  29. 942127658

    -842641042

    695551100

    Returns: "YES"

  30. 314230432

    44975892

    -919414300

    Returns: "YES"

  31. 552709705

    -11887766

    -655351176

    Returns: "YES"

  32. 78391997

    -397477992

    540427150

    Returns: "YES"

  33. 895511908

    -82307108

    -963546636

    Returns: "YES"

  34. 725054177

    833339776

    -750573758

    Returns: "YES"

  35. 63308457

    103324299

    407721492

    Returns: "YES"

  36. 933445330

    -624373454

    579362905

    Returns: "NO"

  37. 659780840

    -18659410

    887664316

    Returns: "NO"

  38. 308680228

    485077662

    896710896

    Returns: "YES"

  39. 880431578

    -635666821

    115296660

    Returns: "NO"

  40. 957822085

    -948619468

    -315411971

    Returns: "NO"

  41. 406054853

    -413599179

    618060325

    Returns: "YES"

  42. 504631400

    138839022

    -136009580

    Returns: "NO"

  43. 887411362

    -467213451

    521490704

    Returns: "NO"

  44. 707306036

    506388610

    -553380316

    Returns: "YES"

  45. 348288274

    -175167580

    835836681

    Returns: "NO"

  46. 433803177

    -521399793

    -655893240

    Returns: "YES"

  47. 271286362

    -314895797

    -191271319

    Returns: "YES"

  48. 446210665

    85761404

    -216556645

    Returns: "YES"

  49. 430689586

    876908676

    381376737

    Returns: "NO"

  50. 412600282

    -927355248

    -533052521

    Returns: "NO"

  51. 118657633

    591546792

    538147411

    Returns: "YES"

  52. 74364001

    558878644

    -130350416

    Returns: "YES"

  53. 493817994

    -997285452

    -706059378

    Returns: "YES"

  54. 7455769

    -544134025

    703784191

    Returns: "YES"

  55. 112430953

    571577696

    -358058781

    Returns: "YES"

  56. 723712393

    269897098

    507984841

    Returns: "YES"

  57. 81692441

    10718678

    -308896102

    Returns: "YES"

  58. 332302626

    -247539516

    -331706672

    Returns: "NO"

  59. 895216378

    -133081354

    -334482876

    Returns: "YES"

  60. 660945105

    999377376

    -658224270

    Returns: "YES"

  61. 238555088

    -360946228

    312350045

    Returns: "NO"

  62. 988254368

    -60652500

    -896151668

    Returns: "YES"

  63. 864245205

    -947030109

    315314670

    Returns: "YES"

  64. 534280986

    -558551361

    54121634

    Returns: "NO"

  65. 645605057

    538901413

    -651425269

    Returns: "YES"

  66. 824319445

    107797381

    -493435287

    Returns: "YES"

  67. 282461593

    -903821151

    246511132

    Returns: "YES"

  68. 735787130

    83745570

    762572631

    Returns: "NO"

  69. 150010666

    -161303318

    -455269434

    Returns: "YES"

  70. 190818037

    -243378430

    -101730249

    Returns: "YES"

  71. 96884749

    -185531543

    -43088554

    Returns: "YES"

  72. 870984916

    651904146

    -409074166

    Returns: "YES"

  73. 602879146

    -918803100

    -560933098

    Returns: "YES"

  74. 984939106

    5595086

    -628396326

    Returns: "YES"

  75. 332654578

    -234373185

    -330168300

    Returns: "NO"

  76. 44154473

    541757953

    371836960

    Returns: "YES"

  77. 118024052

    -635052052

    429850500

    Returns: "YES"

  78. 312714569

    862027535

    -930350497

    Returns: "YES"

  79. 887641988

    735011516

    -620577818

    Returns: "YES"

  80. 790024040

    72759802

    714800088

    Returns: "NO"

  81. 520097293

    348491966

    -538586716

    Returns: "YES"

  82. 323667920

    -486219064

    970997537

    Returns: "NO"

  83. 487093802

    77984837

    548233097

    Returns: "YES"

  84. 791523092

    238149478

    598265260

    Returns: "YES"

  85. 600926690

    -807241372

    -789987604

    Returns: "YES"

  86. 76401121

    897577973

    -692144610

    Returns: "YES"

  87. 109197992

    -94413504

    -139488045

    Returns: "NO"

  88. 236370752

    -899165212

    967070133

    Returns: "NO"

  89. 111383144

    -140167122

    -25709756

    Returns: "NO"

  90. 396758468

    12136564

    643481544

    Returns: "YES"

  91. 348123994

    -298566188

    69286009

    Returns: "NO"

  92. 814395829

    364747611

    284101150

    Returns: "YES"

  93. 936523114

    724987185

    -393715882

    Returns: "NO"

  94. 297335284

    573405008

    -965274879

    Returns: "NO"

  95. 901117274

    90122836

    306302865

    Returns: "NO"

  96. 539393777

    951122401

    32934275

    Returns: "YES"

  97. 408228893

    -32239051

    -956287045

    Returns: "YES"

  98. 6008026

    140030205

    -636780312

    Returns: "NO"

  99. 667425082

    662553261

    897088368

    Returns: "NO"

  100. 563594330

    554638651

    -929771967

    Returns: "YES"

  101. 700273192

    -609388040

    -352611100

    Returns: "YES"

  102. 262623556

    854358976

    404817775

    Returns: "NO"

  103. 660522842

    826018333

    -437741377

    Returns: "NO"

  104. 382044941

    579083895

    487504573

    Returns: "YES"

  105. 105387154

    771633711

    -305334395

    Returns: "YES"

  106. 601692634

    832305765

    -842663809

    Returns: "YES"

  107. 228295066

    -87102195

    335595969

    Returns: "YES"

  108. 279124841

    -4958666

    -151653371

    Returns: "YES"

  109. 981612532

    497623150

    -676312688

    Returns: "YES"

  110. 358798410

    -414214020

    865993022

    Returns: "NO"

  111. 772627069

    -534820376

    398895169

    Returns: "YES"

  112. 802684882

    -100210860

    941708834

    Returns: "YES"

  113. 783189520

    -32758388

    -283715404

    Returns: "YES"

  114. 630644957

    -846451327

    -424656804

    Returns: "YES"

  115. 547913232

    -677058144

    557711088

    Returns: "YES"

  116. 493720884

    982964385

    -410833284

    Returns: "NO"

  117. 190111336

    -739925582

    607689206

    Returns: "YES"

  118. 623339848

    -186388453

    -97435524

    Returns: "NO"

  119. 845616932

    -475137162

    669419184

    Returns: "YES"

  120. 252531709

    -323500977

    804210169

    Returns: "YES"

  121. 362740993

    366037019

    -200236263

    Returns: "YES"

  122. 615578944

    157366008

    314184232

    Returns: "YES"

  123. 338146721

    -919735190

    -490529446

    Returns: "YES"

  124. 817035653

    865593111

    -355432245

    Returns: "NO"

  125. 101976074

    -386406428

    575880963

    Returns: "NO"

  126. 47833970

    -36630907

    -371420086

    Returns: "NO"

  127. 636102378

    -730933650

    592467708

    Returns: "YES"

  128. 614182185

    -662903584

    -298661664

    Returns: "NO"

  129. 894936149

    -781624220

    326422976

    Returns: "YES"

  130. 932427418

    -825348834

    -539507416

    Returns: "YES"

  131. 701851761

    789865032

    830870493

    Returns: "YES"

  132. 401548148

    613146704

    -234871982

    Returns: "YES"

  133. 809366084

    236433208

    -76381218

    Returns: "YES"

  134. 92782457

    314590629

    -873580104

    Returns: "YES"

  135. 380945933

    -928390233

    160282977

    Returns: "YES"

  136. 451874692

    -986740662

    -729489304

    Returns: "YES"

  137. 803722162

    815477714

    97394611

    Returns: "NO"

  138. 713126681

    -671512856

    -932332590

    Returns: "YES"

  139. 500480528

    -851595280

    465378804

    Returns: "YES"

  140. 866343626

    51076585

    414421034

    Returns: "NO"

  141. 762706720

    -89644306

    -465946876

    Returns: "NO"

  142. 705958093

    938368125

    235926151

    Returns: "YES"

  143. 610055186

    -482093547

    107546675

    Returns: "YES"

  144. 967905940

    573773200

    -221122762

    Returns: "YES"

  145. 652837138

    -634739114

    -291443651

    Returns: "NO"

  146. 693269768

    837770408

    361065288

    Returns: "YES"

  147. 260899733

    858685723

    882261889

    Returns: "YES"

  148. 696091181

    527764929

    -828758049

    Returns: "YES"

  149. 93314537

    561445843

    -969302645

    Returns: "YES"

  150. 808368101

    214312811

    -992032009

    Returns: "YES"

  151. 386889632

    104975596

    303601116

    Returns: "YES"

  152. 439795610

    586081949

    617661909

    Returns: "YES"

  153. 900985797

    956670156

    217050647

    Returns: "NO"

  154. 236439242

    540372333

    -973089579

    Returns: "YES"

  155. 859662137

    -349146000

    -107140677

    Returns: "YES"

  156. 653905850

    -129066335

    214008281

    Returns: "YES"

  157. 416802739

    0

    0

    Returns: "YES"

  158. 652288857

    -10909100

    305176751

    Returns: "NO"

  159. 901153200

    0

    0

    Returns: "YES"

  160. 341098945

    0

    0

    Returns: "YES"

  161. 17832333

    647066828

    921704665

    Returns: "NO"

  162. 302095078

    0

    0

    Returns: "YES"

  163. 403836725

    0

    0

    Returns: "YES"

  164. 231431616

    -212086254

    13128434

    Returns: "NO"

  165. 289017735

    865691753

    -557509609

    Returns: "NO"

  166. 4599156

    0

    0

    Returns: "YES"

  167. 865139025

    0

    0

    Returns: "YES"

  168. 182659321

    -472710248

    670624417

    Returns: "YES"

  169. 42788805

    46060021

    127933275

    Returns: "NO"

  170. 789026343

    971410095

    -283752980

    Returns: "NO"

  171. 849081444

    0

    0

    Returns: "YES"

  172. 176155788

    900777271

    -603095887

    Returns: "NO"

  173. 401727674

    -632486089

    187535773

    Returns: "YES"

  174. 147440196

    0

    0

    Returns: "YES"

  175. 757934938

    931814457

    312665062

    Returns: "NO"

  176. 817843749

    0

    0

    Returns: "YES"

  177. 95

    674172982

    -56560424

    Returns: "NO"

  178. 86

    0

    0

    Returns: "YES"

  179. 44

    0

    0

    Returns: "YES"

  180. 41

    -814680773

    -848463431

    Returns: "YES"

  181. 13

    959649524

    -945200693

    Returns: "YES"

  182. 78

    0

    0

    Returns: "YES"

  183. 61

    362406214

    236313467

    Returns: "YES"

  184. 17

    -389230929

    -783906988

    Returns: "YES"

  185. 91

    -563581813

    -269489479

    Returns: "NO"

  186. 19

    0

    0

    Returns: "YES"

  187. 34

    -310825858

    -501694713

    Returns: "NO"

  188. 60

    0

    0

    Returns: "YES"

  189. 40

    439958574

    -337131708

    Returns: "NO"

  190. 62

    -46226775

    607201139

    Returns: "NO"

  191. 36

    -889784838

    514192854

    Returns: "YES"

  192. 8

    621751804

    -25664498

    Returns: "NO"

  193. 72

    -295892286

    747464298

    Returns: "YES"

  194. 18

    412739457

    -647544482

    Returns: "NO"

  195. 83

    0

    0

    Returns: "YES"

  196. 67

    856515253

    -115875378

    Returns: "NO"

  197. 3

    0

    0

    Returns: "YES"

  198. 98

    14

    7

    Returns: "NO"

  199. 10

    1

    0

    Returns: "NO"

  200. 1

    1

    1

    Returns: "YES"


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: