問題
原文(英語)を表示無限に広がるスパイラルは左上のセルから始まります。最初の4行4列は下記の通りです。同じパターンで正方形の層を外側に拡張していきます。座標は1から始まります。
1 2 9 10
4 3 8 11
5 6 7 12
16 15 14 13グリッド全体を構築せずに、指定セルの値のみを返してください。
number_spiral(row, column) を実装してください。
入力
row: 上から数えて1から始まる行番号。
column: 左から数えて1から始まる列番号。
出力
その位置にある数値を返してください。
制約
1 ≤ row, column ≤ 1,000,000,000。値は符号付き64ビット整数に収まります。
例
例 1
入力:
row = 3
column = 2
期待される出力:
expected = 6
入力:
long long row = 3;
long long column = 2;
期待される出力:
long long expected = 6;
入力:
long row = 3;
long column = 2;
期待される出力:
long expected = 6;
解説
表示されている3行目の2番目の値は6です。
例 2
入力:
row = 1
column = 4
期待される出力:
expected = 10
入力:
long long row = 1;
long long column = 4;
期待される出力:
long long expected = 10;
入力:
long row = 1;
long column = 4;
期待される出力:
long expected = 10;
解説
4番目の正方形の層は、上の行の10から始まります。
参考資料
この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。