カメヲラボ

主にプログラミングとお勉強全般について書いてます

CodeIQ過去問集01:ショートコーディング入門編

本稿はCodeIQで2013年3月14日~2013年4月8日に出題された「ショートコーディング入門編」という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。

ショートコーディング入門編

【問題】

2元の連立1次方程式を解くプログラムを、C言語で』『できるだけ短く』書いてください。 今回は入門編ということで、次の条件を満たすデータのみを想定してください。

  • 入力データはすべて符号付32ビットに収まる整数
  • 解は-100から100までの整数
  • 解が無数にある場合や、解が存在しない方程式は含まない

テストデータは標準入力から読み込み、データのフォーマットは次の通りです。

ax + by = e
cx + dy = f

という連立方程式の定数部分a, b, e, c, d, fを1セットとすると、Nセットを

N
a1 b1 e1
c1 d1 f1
a2 b2 e2
c2 d2 f2
.
.
.
aN bN eN
cN dN fN

のように表します。

この入力データに対して、次のように解x, yをNセット出力してください。

x1 y1
x2 y2
.
.
.
xN yN

x, yの値のみを、空白一文字で区切り、1セットごとに改行してください。

【入出力例】

入力

3
3 -2 14
4 -3 20
2 5 -17
-2 1 -13
-4 5 -13
1 -2 7

出力

2 -4
4 -5
-3 -5

※テスト用のデータはhttps://bitbucket.org/ozy4dm/codeiq/downloads/ショートコーディング入門編.zipにあります。

【解説1】