JOI logo
第24回日本情報オリンピック 一次予選(第2回)

2024年10月27日
情報オリンピック日本委員会

問題
  三角足し算 (Triangle Addition) (配点 100点)
  時間制限 : 2 sec / メモリ制限 : 1024 MB

解説

1 回操作をする度に数列の長さは 1 ずつ減っていくので,操作は N-1 回繰り返されることとなる.

問題文を数式で表してみる.

i 回 (0 ≦ i ≦ N - 1) 回目の操作で黒板に書き加えられる数列を Ai とすると,1 ≦ i ≦ N - 1 について,len(Ai-1) を数列 Ai-1 の長さとして,

(Ai)j = (Ai-1)j + (Ai-1)j+1   (1 ≦ j ≦ len(Ai-1) - 1)

となる.

要するに,実装としては,

  1. 今黒板に書かれている数列を保持した配列を用意する
  2. 配列の隣り合う整数を足して,長さが 1 短い新しい数列を作る
  3. 新しく作った数列を出力する
  4. 黒板に書かれている数列を保持した配列を更新する

という方針になる.