2019年07月06日(土) 長野開催
練習問題:Q1
素因数分解
30607は二つの素数のかけ算で表すことができます。AxB=30607を満たす素数AとBを求めて下さい。ただし A≦B として、A,Bという形式で解答して下さい。解答にスペースを入れてはいけません。
- 解答
- 127,241
例
- 例題
- 例えば33は3x11で表現できるので、
3,11
と解答して下さい。 - 解答
- 3,11
練習問題:Q2
茅野さん、諏訪さん、松本さん、それぞれ何人いる?
文字列の中に茅野さん(CHINO),諏訪さん(SUWA),松本さん(MATSUMOTO)がそれぞれ何回出現するか、カンマ区切りで解答して下さい。
ダウンロード
- 解答
- 3,3,2
例
- 例題
- "CHINONAGANOSUWADISCOSUWANPROGRAM"
- 解答
- 1,2,0
練習問題:Q3
外周長を求めよ
下図の黒いマス目で表される図形の外周の長さを求めて下さい。マス目一つの長さは1とします。
入力は白マスが0、黒マスを1として、カンマ区切りの数字列として与えられます。(適宜加工してプログラムに組み込んで構いません)
ダウンロード
- 解答
- 58
例
- 例題
- 下図のように凹んでいる部分も数えます。
- 解答
- 12
N君のお小遣い
N君の家では一回のお手伝いで300円のお小遣いをもらえます。
1ヶ月(31日間)分の各日のお手伝い回数が配列で与えられます。
この月に幾らお小遣いを貰えるでしょうか?
※テンプレートを使用して解答してください。
配点:100点
ダウンロード
- 解答
- 11400
例
- 例題
- {1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
- 解答
- 1800
新元号対応
Nさんは新元号の発表前に文字列を作っておく必要がありました。そこで新元号(reiwa)の代わりにshingengoと書いて文章を作成しました。
新元号がreiwaと決まったのでshingengoをreiwaに置き換えて正式な文章にする必要があります。
問題の文章の新元号(shingengo)を令和(reiwa)に置き換えて下さい。
※テンプレートを使用して解答してください。
配点:200点
ダウンロード
- 解答
- kotoshihaatarasiigengoutositereiwatonarimasitameijitaisyosyouwaheiseireiwatoiujunnninarisoudesuminasannmoreiwawohiromeruyouapiruwoshitemitekudasaisoredewakontesutomogannbattekudasai
例
- 例題
- heiseisyouwataisyoumeianntennpoushingengoannseigennrokuouninnshingengohogehoge
- 解答
- heiseisyouwataisyoumeianntennpoureiwaannseigennrokuouninnreiwahogehoge
トイレの神様 -God of Toilet-
ある日、Yくんは急にトイレに行きたくなり、走り出しました。たどり着いたトイレには、A~Eの5つの個室があり、Eのみが洋式のようです。また、Yくんがトイレに到着した瞬間は、以下のような状況になっています。
- 個室はすべて空いている状態
- すでに個室の前には10人が並んでいて、先頭から空いている個室に入ろうとしている
- Yくんの到着と同じタイミングで、新たに20人の人々が到着している
そのまま並べば何の問題もなく個室に入ることができますが、ひとつだけ問題があります。
> Yくんは洋式派なのです。 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
そのためYくんは、なんとしても洋式であるEに入りたいと思っています。しかし確実にEに入るためにどうしたら良いか、Yくんにはすぐに判断できません。
さて、トイレの神様であるあなたは、すべて人々が、何分個室にこもるか把握しています。Yくんは「先頭から数えて何人目」に並べばEに入れるでしょうか?既に10人並んでしまっているため、答えは11以上の値になります。
あなたのチカラで計算し、Yくんに教えてあげてください。なお、Yくんは必ずEに入れることが分かっています。
※「何人目」は「1人目」から数え始めます。
ただし、人々は必ず以下のルールに従うことに注意してください。
☆このトイレにおける非常に厳しいルール☆
- 個室が空いたら、タイムロスなくすぐに入らなければなりません。
- 個室が同時に空いている場合、Aから順に入らなければなりません。
入力は、Y君を除く30人のトイレに入っている時間【分】が配列で与えられます。
入力は3パターン与えられます。解答もカンマ区切りで3件提出してください。なお、3パターンの入力全てに解が存在します。
※テンプレートを使用して解答してください。
配点:300点
ダウンロード
- 解答
- 19,21,30
例題
- 例題
- {5,4,3,2,1,11,9,7,5,3,3,2,1,3,4,6,3,1,2,5,11,3,2,7,4,6,3,5,9,10}
{1,1,1,3,1,2,1,2,2,1,2,6,3,5,1,3,4,6,10,5,1,11,1,5,2,8,4,3,2,1}
{5,19,7,16,1,1,4,4,23,4,5,7,1,4,2,8,33,5,11,8,2,5,7,3,2,17,2,5,9,12} - 解答
- 18,15,23
コンピュータの神様 -God of Computer-
あなたが注目しているAさんは複雑なタスクを10000個抱えています。
Aさんは凄腕プログラマなので、当然のようにすべてのタスクをコンピュータに処理させようと考えました。
目標として、今日から10年以内にすべてのタスクの処理を終えたいです。
しかし、タスクがあまりにも複雑なので、Aさんが購入可能なコンピュータをどれだけ集めても処理を終えることができません。
コンピュータの神様であるあなたは、Aさんのために神様の国で売られているコンピュータを買ってくることにしました。
神様の国では毎年この日に新しいバージョンのコンピュータが売り出されます。
バージョンによって性能と価格が異なります。
Aさんが目標を達成するのに必要な合計購入費用の最小値を答えてください。
問題は3問です。各問10年分のデータが与えられます。与えられる数値はすべて正の整数です。
各問のデータは2行で与えられます。
1行目は、「1年目のコンピュータの性能」、「2年目のコンピュータの性能」、……、「10年目のコンピュータの性能」です。
性能はコンピュータを1年間使用したときに処理できるタスクの個数を表しています。
2行目は、「1年目のコンピュータの価格」、「2年目のコンピュータの価格」、……、「10年目のコンピュータの価格」です。
価格は税込みです。
※テンプレートを使用して解答してください。
配点:400点
ダウンロード
- 解答
- 48357,2310,540947
例題
- 例題
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
{31, 29, 24, 21, 20, 18, 17, 14, 12, 10}
{1, 1, 3, 3, 9, 9, 27, 27, 81, 81}
{300, 200, 300, 200, 300, 250, 550, 450, 900, 800}
{1, 11, 13, 17, 19, 23, 29, 31, 37, 41}
{282, 337, 353, 404, 387, 390, 393, 316, 251, 141} - 解答
- 30000,51050,33882
- 例題の補足
- 1問目:
どの年のコンピュータも同じ性能です。価格が毎年値下がりしています。
3年目のコンピュータ1250台で目標を達成できます。3年目に買うことが出来るコンピュータは10年目までに8年間しか稼働できないことに注意してください。
2問目:
例えば、「7年目92台、8年目1台」で目標を達成できます。
※タスクを10017個処理できます。10000個ちょうどである必要はありません。
なお、「4年目1台、6年目1台、7年目を92台」とすると同じ費用で10002個処理できて、この場合も目標を達成しています。
3問目:
「4年目1台、6年目1台、7年目81台、9年目5台」で目標を達成できます。
倉庫の神様 -God of Storage-
むかしむかし、蓼科山の麓に小さな蔵がありました。そして一人のおじいさんがこの蔵の管理をしていたそうです。
ある日の日暮れ頃、おじいさんは領主様より「一番大きな箱を明日の朝に蔵から出せるようにしておけ。」と命令されました。おじいさんは困りました。蔵は荷物で一杯になっており、一番大きな箱を取り出すのは容易ではありません。ましてや一人で重い箱を移動させるなどできるはずもありません。悩んでいるうちにあたりは真っ暗になってしまい、「こまった、こまった」とつぶやきながら家路につきました。
さて、倉庫の神様であるあなたは、おじいさんの困難を解決してあげることにしました。とはいえ、あなたができるのはあくまで倉庫に関わることだけであり、いきなり箱をワープさせるようなことは不可能です。しかしあなたはクレーン運転士及び玉掛けの有資格者です。倉庫の神様ならば当然ですね。そこで、ホイストクレーンを用いて一番大きな箱を荷捌き場まで移動させることにしました。
ところが、既に日は暮れており、あまり大きな騒音を発生させるわけにはいきません。そこで、吊り上げた荷物を一つの方向にのみ移動させるタイプのクレーンを使用することにしました。ただしこの方法だと、大きな箱を一回で荷捌き場まで移動させることができません。蔵の中で荷物を一つ一つ移動させることが必要です。神様とは言え深夜残業は避けたいと思うあなたは、なるべく少ない回数で大きな箱を荷捌き場まで移動させたいと考えました。
蔵は下図のように8mx8mの大きさで、さまざま形状の箱A~Gが並んでいます。
この蔵には移動式クレーンがあり、箱を吊り上げて移動させることができます。一番大きな2mx4mの箱Aを蔵の南側にある荷捌き場に移動させるには最低何回箱を移動させればよいか計算してください。
この蔵のクレーンは、箱を吊り上げて他の箱の上を飛び越えて移動させることができますが、箱を積み重ねてはいけません。また、東西方向もしくは南北方向にのみ箱を移動させることができますが、箱を一度に斜め方向に移動させたり箱を回転させることはできません。蔵には1mx1mの柱が複数あり、この場所は箱を置くことも箱が通過することもできません。荷捌き場に一時的に箱を置くことは許されますが箱を蔵の外に運び出すことはできません。
蔵の初期状態は、箱をアルファベット、空間を0、荷捌き場を1、蔵の柱を*(アスタリスク)とする文字列が与えられます。
※テンプレートを使用して解答してください。
配点:500点
ダウンロード
- 解答
- 6,17,34
例題
- 例題
-
"00BBBB0F"
"000BBBFF"
"000D0EE0"
"DDDD*EE0"
"AAAACCCC"
"AAAA0C0C"
"001111G0"
"001111G0"
"*0B0BBFF"
"00BBBBF0"
"0D000000"
"DDDD*000"
"CCCCAAAA"
"0C0CAAAA"
"G01111EE"
"G01111EE"
"*EEBBBB0"
"0EE0BBBF"
"AAAA00FF"
"AAAA*0*0"
"CCCC0D00"
"00CCDDDD"
"00111100"
"0*1111GG" - 解答
- 2,3,7
- 解説
- 解説1:Aを前方に2 m移動させる→Aを右に2 m移動させる
解説2:Eを後方に4 m移動させる→Aを前方に2 m移動させる→Aを左に2 m移動させる
解説3:Cを前方に2 m移動させる→Aを前方に2m移動させる→Cを後方に4 m移動させる→Aを前方に1m移動させる→Dを後方に1 m移動させる→Aを右に2 m移動させる→Aを前方に1 m移動させる
※他の順序もあります。荷捌き場に一時的に他の箱を置くことができる点に注意して下さい。
結果発表
- 順位参加者ID
(先頭4桁)得点最終正解時間
(ペナルティ込み) - 1109115001:56:23
- 2108815002:02:47
- 3100210000:27:16
- 4103310000:42:46
- 5102010001:25:04
- 6108710001:25:47
- 7107810002:05:03
- 810566000:22:18
- 910576000:23:22
- 1010656000:23:55
- 1110416000:25:24
- 1210116000:33:07
- 1310216000:33:46
- 1410446000:34:26
- 1510276000:34:42
- 1610636000:35:43
- 1710606000:35:57
- 1810546000:37:20
- 1910706000:37:53
- 2010146000:40:57
- 2110136000:44:48
- 2210766000:45:42
- 2310036000:46:08
- 2410066000:49:04
- 2510506000:50:56
- 2610266000:51:32
- 2710056000:54:20
- 2810496000:55:59
- 2910486000:57:27
- 3010316000:57:50
- 3110626000:59:29
- 3210356001:04:19
- 3310456001:05:51
- 3410346001:06:33
- 3510296001:09:33
- 3610046001:09:42
- 3710466001:10:39
- 3810286001:13:42
- 3910196001:13:57
- 4010586001:15:53
- 4110596001:17:30
- 4210696001:19:36
- 4310756001:22:27
- 4410436001:22:32
- 4510256001:23:19
- 4610746001:27:57
- 4710366001:34:33
- 4810106001:35:40
- 4910166001:38:00
- 5010866001:39:35
- 5110176001:40:41
- 5210186001:40:59
- 5310616001:43:39
- 5410406001:52:07
- 5510896001:52:13
- 5610426001:52:53
- 5710723000:12:45
- 5810153000:20:52
- 5910683000:28:41
- 6010773000:39:35
- 6110523000:49:54
- 6210473000:51:25
- 6310553000:54:33
- 6410533001:04:01
- 6510833001:57:54
- 6610841000:05:14
- 6710071000:07:27
- 6810821000:08:32
- 6910231000:13:53
- 7010371000:15:20
- 7110901000:49:25
- 7210641001:33:21