2024年度「プログラミング言語1」「プログラミング言語演習」のページ

練習問題

2024年6月13日出題

  1. 標準入力から単語を二つ入力し(以後、入力順に w1, w2 と呼ぶ)、以下の加工を行って標準出力に出力するプログラムを、それぞれ書け。単語とは、空白文字でない図形文字の並びとする。単語は132文字以下であると仮定してよい。 (ACM-ICPC 2003年アジア地区予選会津大会 問題Aを参考にした)

    文字と操作の対応は、以下の表に従う。

    < 単語のすべての文字を左向きに一文字分回転する。 たとえば、aB23dB23da になる。
    > 単語のすべての文字を右向きに一文字分回転する。 たとえば、aB23ddaB23 になる。
    | 単語の前半と後半を入れ替える。ただし、単語の文字数が奇数のときは、中央の文字は動かさない。 たとえば、e3acace3 になり、aB23d3d2aB になる。
    # 単語を反転する。 たとえば、aB23dd32Ba になる。
    + 単語に出現するすべての数字を、それぞれ、一つ大きな数字に置き換える。ただし、90に置き換える。 たとえば、aB23daB34d になり、e9ace0ac になる。
    - 単語に出現するすべての数字を、それぞれ、一つ小さな数字に置き換える。ただし、09に置き換える。 たとえば、aB23daB12d になり、e0ace9ac になる。
    その他 何もしない。
    1. 文字列 w2 に含まれる文字の出現順に、対応する操作を w1 に施し、最終結果を出力する。

      たとえば、w1aB23dw2<+# のとき、aB23dB23daB34daad43B と書き換えられるので、 ad43B を出力する。

    2. 文字列 w2 に含まれる文字の出現順に、対応する操作をある文字列 w に施すと w1 が得られるような w を求め、wを出力する。

      たとえば、w1ad43Bw2<+# のとき、aB23dB23daB34daad43B と書き換えられるので、 aB23d を出力する。

    1. 三角形の頂点の座標を入力し、心などの座標を出力するプログラムを書け。 ただし、入力形式・出力形式については、以下の指示に従うこと。

      入力
      三角形 ABC についての次の形式のデータセット。
      頂点 Ax座標 頂点 Ay座標 頂点 Bx座標 頂点 By座標 頂点 Cx座標 頂点 Cy座標 文字列1
      ただし、文字列1 は、アルファベットと数字だけからなる120文字以内の文字列。
      出力
      文字列1に含まれる文字ごとに以下のものを出力。
      文字出力するもの
      A 頂点 Ax座標とy座標
      B 頂点 Bx座標とy座標
      B3 第三ブロカール点のx座標とy座標
      C 頂点 Cx座標と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 A に対応する傍心のx座標とy座標
      Ib B に対応する傍心のx座標とy座標
      Ic C に対応する傍心の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座標
      ただし、出力は項目ごとに数値2個からなる1行で出力すること。 文字列1に出現する文字の順に出力すること。 同じ文字が出現したらそのとおりに繰り返し出力すること。
      補足
      三角形の傍心は、 a b c a b c a b c です。 A=(0,0), B=(1,0), C=(107169,835169) の場合の傍心の座標は、以下のようになります。
      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

奈良女子大学生活環境学部文化情報学科生活情報通信科学コース