A - スワップ

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

A, B2 つの整数が与えられます。

AB の数値を入れ替えた後、A, B を出力しなさい。


入力

入力は以下の形式で標準入力から与えられる。

A B
  • 1 行目には、2 つの整数 A, B (1 ≦ A, B ≦ 100) が与えられる。

出力

数字の入れ替えた後の AB を、スペース区切りで 1 行で出力せよ。出力の末尾には改行をいれること。


入力例1

1 2

出力例1

2 1

初めに、A = 1, B = 2 となっています。 この AB を入れ替えると、A = 2, B = 1 となります。


入力例2

5 5

出力例2

5 5

同じ数字が入力として与えられた時、数字を入れ替えても変化はありません。

B - 入浴時間

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

高橋君は、お風呂で湯船に浸かった秒数を数える習慣があります。

今日は、高橋君は湯船で N 秒まで数えました。

しかし、秒だと解りにくいので、何時間何分何秒、という形に直したいです。

秒数 N が与えられるので、 hh:mm:ss の形式に変換しなさい。


入力

入力は以下の形式で標準入力から与えられる。

N
  • 1 行目には、高橋君が湯船に浸かった秒数を表す整数 N (0 ≦ N ≦ 86399) が与えられる。

出力

高橋君が湯船に浸かっていた時間を、hh:mm:ss の形式で、 1 行で出力せよ。出力の末尾には改行をいれること。


入力例1

3661

出力例1

01:01:01

高橋君が湯船に浸かっていた時間は 1 時間 11 秒です。


入力例2

86399

出力例2

23:59:59

高橋君が 24 時間以上湯船に浸かっていることはありません。

C - 九九足し算

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

高橋君は、先日、九九の表を全て暗記することに成功しました。

九九で物足りなくなった高橋君は、 1 × 1 から 9 × 9 までの値を、全て足してみることにしました。

高橋君は、九九のうちの一つの答えを忘れてしまったので、その計算を後回しにして、残りの和を求めたところ、N になりました。

しかし、高橋君は、後回しにした問題がどれだか解らなくなってしまいました。

高橋君が後回しにしてしまった問題として、あり得るものを辞書順で全て出力しなさい。


入力

入力は以下の形式で標準入力から与えられる。

N
  • 1 行目には、高橋君の演算結果を表す整数 N (1944 ≦ N ≦ 2024) が与えられる。
  • 答えが存在しないような N は与えられない。

出力

高橋君が飛ばした演算を、 1 行ずつ辞書順で全て出力せよ。出力の末尾にも改行をいれること。


入力例1

2013

出力例1

2 x 6
3 x 4
4 x 3
6 x 2

高橋君の求めた値は、本来の値より 12 少ないものです。 よって、答えが 12 となる、 2 × 63 × 44 × 36 × 24 つが答えとなります。


入力例2

2024

出力例2

1 x 1
D - バスと避けられない運命

Time Limit: 5 sec / Memory Limit: 256 MB

問題文

高橋君は、バスがあまり好きではありません。ですが、社会に出ると、バスを乗るという行為を避けることはできません。

社会人になると、自宅から会社まで、バスで通わなければなりません。高橋君はまだ内定を貰っていないので、会社の場所は解りません。

高橋君は、バスに乗っている時間が最も長くなってしまうような、最悪のケースを常に想定します。 この、最悪なケースのバスに乗っている時間が、出来るだけ短くなるような場所に引っ越そうと思っています。

追記:なお、最悪のケースとは、バスに乗る時間の合計が最も短くなるように、乗るバスを選択した時に、最もバスに乗る時間の合計が長くなってしまうような位置に会社があるケースのことを指します。また、自宅から会社に行く際に、高橋君が乗るバスを選ぶことができ、高橋君はバスに乗る時間の合計が最も短い経路を選択するものとします。

各バスは、2 つのバス停を往復するように走っており、行き・帰りでかかる時間に差はありません。 バスにはいつでも乗ることが可能であり、乗継にかかる時間などは無視することが可能です。

また、自宅や会社はバス停に隣接しており、他のバス停まで歩いたり、バス以外の手段で移動することはできません。

高橋君が引っ越すべき場所を求め、そこに引っ越した際の、バスに乗らなければならない時間の最大値を出力してください。


入力

入力は以下の形式で標準入力から与えられる。

N M
a_1 b_1 t_1
a_2 b_2 t_2a_M b_M t_M
  • 1 行目には、バス停の数を表す整数 N (2 ≦ N ≦ 300) と、路線の数を表す整数 M (N - 1 ≦ M ≦ 44850) が、スペース区切りで与えられる。
  • 続く 2 行目から M 行は、バスの情報を表す。 i 番目の行には、バスの出発地点と往復する 2 つのバス停を表す番号 a_i, b_i (1 ≦ a_i, b_i ≦ N) と、その移動に何分かかるかを表す数字 t_i (1 ≦ t_i ≦ 1000) が、それぞれ整数で与えられる。
  • 辿り着けないバス停のペアは存在しないことが保証されている。
  • a_i ≠ b_i であることが保障されている。
  • ある 2 つのバス停を往復する路線は、高々 1 つしか存在しない。

出力

高橋君が引っ越した後、最も長くバスに乗らないといけない時にかかってしまう時間を、 1 行で出力せよ。出力の末尾には改行をいれること。


入力例1

3 2
1 2 10
2 3 10

出力例1

10

バス停 1 からバス停 2 に行くのには、10 分かかります。 バス停 1 からバス停 3 に行くのには、20 分かかります。 バス停 2 からバス停 3 に行くのには、10 分かかります。 よって、バス停 2 に引っ越した時、乗車時間の最大値は 10 分となり、これが最も良い引っ越し先となります。


入力例2

5 5
1 2 12
2 3 14
3 4 7
4 5 9
5 1 18

出力例2

26

バス停 3 に引っ越すと最善となります。


入力例3

4 6
1 2 1
2 3 1
3 4 1
4 1 1
1 3 1
4 2 1

出力例3

1

複数の経路があっても、遠回りしないことに注意してください。