標準入力から単語を二つ入力し(以後、入力順に w1, w2 と呼ぶ)、以下の加工を行って標準出力に出力するプログラムを、それぞれ書け。単語とは、空白文字でない図形文字の並びとする。単語は132文字以下であると仮定してよい。 (ACM-ICPC 2003年アジア地区予選会津大会 問題Aを参考にした)
文字と操作の対応は、以下の表に従う。
< |
単語のすべての文字を左向きに一文字分回転する。
たとえば、aB23d は B23da になる。
|
> |
単語のすべての文字を右向きに一文字分回転する。
たとえば、aB23d は daB23 になる。
|
| |
単語の前半と後半を入れ替える。ただし、単語の文字数が奇数のときは、中央の文字は動かさない。
たとえば、e3ac は ace3 になり、aB23d は 3d2aB になる。
|
# |
単語を反転する。
たとえば、aB23d は d32Ba になる。
|
+ |
単語に出現するすべての数字を、それぞれ、一つ大きな数字に置き換える。ただし、9 は0 に置き換える。
たとえば、aB23d は aB34d になり、e9ac は e0ac になる。
|
- |
単語に出現するすべての数字を、それぞれ、一つ小さな数字に置き換える。ただし、0 は9 に置き換える。
たとえば、aB23d は aB12d になり、e0ac は e9ac になる。
|
その他 | 何もしない。 |
文字列 w2 に含まれる文字の出現順に、対応する操作を w1 に施し、最終結果を出力する。
たとえば、w1 が aB23d
で w2 が <+#
のとき、aB23d
→ B23da
→ B34da
→ ad43B
と書き換えられるので、 ad43B
を出力する。
文字列 w2 に含まれる文字の出現順に、対応する操作をある文字列 w に施すと w1 が得られるような w を求め、wを出力する。
たとえば、w1 が ad43B
で w2 が <+#
のとき、aB23d
→ B23da
→ B34da
→ ad43B
と書き換えられるので、 aB23d
を出力する。
三角形の頂点の座標を入力し、心などの座標を出力するプログラムを書け。 ただし、入力形式・出力形式については、以下の指示に従うこと。
頂点 のx座標 頂点 のy座標 頂点 のx座標 頂点 のy座標 頂点 のx座標 頂点 のy座標 文字列1ただし、文字列1 は、アルファベットと数字だけからなる120文字以内の文字列。
文字 | 出力するもの |
---|---|
A |
頂点 のx座標とy座標 |
B |
頂点 のx座標とy座標 |
B3 |
第三ブロカール点のx座標とy座標 |
C |
頂点 のx座標とy座標 |
D1 |
第一等力点のx座標とy座標 |
D2 |
第二等力点のx座標とy座標 |
F1 |
第一等角心のx座標とy座標 |
F2 |
第二等角心のx座標とy座標 |
Fe |
フォイエルバッハ点のx座標とy座標 |
G |
重心のx座標とy座標 |
Ge |
ジェルゴンヌ点のx座標とy座標 |
Gp |
冪曲線の重心での接線の三線極点のx座標とy座標 |
H |
垂心のx座標とy座標 |
I |
内心のx座標とy座標 |
Ia |
に対応する傍心のx座標とy座標 |
Ib |
に対応する傍心のx座標とy座標 |
Ic |
に対応する傍心のx座標とy座標 |
Ip |
冪曲線の内心での接線の三線極点のx座標とy座標 |
K |
類似重心のx座標とy座標 |
Kp |
冪曲線の類似重心での接線の三線極点のx座標とy座標 |
L |
ド・ロンシャン点のx座標とy座標 |
M |
ミッテンプンクトのx座標とy座標 |
Ma |
辺BCの中点のx座標とy座標 |
Mb |
辺CAの中点のx座標とy座標 |
Mc |
辺ABの中点のx座標とy座標 |
Mj |
第一安島マルファッティ点のx座標とy座標 |
Mr |
安島マルファッティ円の根心のx座標とy座標 |
Mx |
外マルファッティ円の根心のx座標とy座標 |
My |
イフ・マルファッティ点のx座標とy座標 |
N |
九点円の中心のx座標とy座標 |
N1 |
第一ナポレオン点のx座標とy座標 |
N2 |
第二ナポレオン点のx座標とy座標 |
Na |
ナーゲル点のx座標とy座標 |
O |
外心のx座標とy座標 |
Sp |
シュピーカー心のx座標とy座標 |
x座標 | y座標 | |
---|---|---|
A |
0.000000000000000 | 0.000000000000000 |
B |
1.000000000000000 | 0.000000000000000 |
C |
0.633136094674556 | 0.280051113992881 |
Ia |
1.076923076923077 | 0.227541530119216 |
Ib |
−0.07692307692307693 | 0.3640664481907456 |
Ic |
0.3846153846153846 | −1.820332240953728 |