問題一覧 > 通常問題

No.675 ドットちゃんたち

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 69
作問者 : nmnmnmnmnmnmnm / テスター : Pulmn
2 ProblemId : 1572 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-09-24 01:07:00

問題文

ドットちゃんはXY平面上の整数座標に立つことができるキャラクターである。
最初はXY平面上にドットちゃんは1つも存在しない。
ドットちゃんは次のように発生と移動をN回だけ繰り返す。

・ドットちゃんは整数座標(Px,Py)で1つ生まれる。
・すべてのドットちゃんは指定されたXY平面上での移動命令に従う。

指定される移動命令は次のような3種類の命令のうちいずれか1つである。

命令1:X軸の正の方向(右)にDxだけ移動する。
命令2:Y軸の正の方向(上)にDyだけ移動する。
命令3:原点を中心に時計回りに90度回転する。

最終的にドットちゃんはXY座標上にNつ存在することになる。
最初に生まれたドットちゃんから順にいちばん最後にいる座標を答えよ。

入力

N Px Py
Command0
Command1

CommandN1

Nはドットちゃんが発生と移動する回数。1N100000
(Px,Py)はドットちゃんが生まれる整数座標。1000000000Px,Py1000000000
Commandii番目に指定される命令。
命令1の場合は数字の'1'と次いで整数Dxがスペースで区切って与えられる。0Dx10000
命令2の場合は数字の'2'と次いで整数Dyがスペースで区切って与えられる。0Dy10000
命令3の場合は数字の'3'が与えられる。

出力

Ax0 Ay0
Ax1 Ay1

AxN1 AyN1

ドットちゃんを上から生まれた順で0番目からN1番目まで出力せよ。
ただし、ここで(Axi,Ayi)はi番目に生まれたドットちゃんの最終的な座標のことである。
すべての行の最後に改行を入れること。

サンプル

サンプル1
入力
2 0 1
1 3
1 4
出力
7 1
4 1

0番目のドットちゃんは(0,1)で生まれ、X軸方向に3移動し、またX軸方向に4移動する。
1番目のドットちゃんは(0,1)で生まれ、X軸方向に4移動する。
0番目のドットちゃんは最終的に(7,1)に存在する。
1番目のドットちゃんは最終的に(4,1)に存在する。

サンプル2
入力
3 1 2
1 2
2 1
3
出力
3 -3
3 -1
2 -1

0番目のドットちゃんは(1,2)で生まれ、X軸方向に2移動し、Y軸方向に1移動し、原点を中心に時計回りに90度回転する。
1番目のドットちゃんは(1,2)で生まれ、Y軸方向に1移動し、原点を中心に時計回りに90度回転する。
2番目のドットちゃんは(1,2)で生まれ、原点を中心に時計回りに90度回転する。
0番目のドットちゃんは最終的に(3,-3)に存在する。
1番目のドットちゃんは最終的に(3,-1)に存在する。
2番目のドットちゃんは最終的に(2,-1)に存在する。

サンプル3
入力
4 2 3
3
3
3
3
出力
2 3
-3 2
-2 -3
3 -2

0番目のドットちゃんは最終的に生まれた場所に戻ってきました。

サンプル4
入力
5 0 0
1 0
2 0
1 0
1 0
2 0
出力
0 0
0 0
0 0
0 0
0 0

すべてのドットちゃんが原点で生まれたまま動きません。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。