長テーブルのうなぎ屋

ネットで見つけた問題を解きました。
https://qiita.com/krppppp/items/a75205c9dcb4165ca2b4

ネットで見つけた問題を解きました。
https://qiita.com/krppppp/items/a75205c9dcb4165ca2b4

  • タグ:
  • タグはありません
#module
#deffunc うなぎ屋さんの設定 str 入力1
	s = 入力1
	split s, " ", table_max, group_max
	table_max = int(table_max)
	group_max = int(group_max)
	dim table, table_max
	return
#deffunc お客来店 str 入力2
	s = 入力2
  split s, " ", 座りたい席, 座りたい席数
	座りたい席 = int(座りたい席)
	座りたい席数= int(座りたい席数)

	組数+ ;いらっしゃいませ
	//座りたい席に入れるか確認してきますね!
	out = 0
	repeat 座りたい席数, 座りたい席-1
		if table(cnt\table_max): out = 1: break //席が空いていないのでお客様の元に向かう
	loop
	if out: return //ご希望の席が埋まっておりまして・・・「はぁ!?帰るわ。」
	//お客様運がよかったですね!
	repeat 座りたい席数, 座りたい席-1
		table(cnt\table_max) = 組数 //各々席に座ってもらう。
	loop
	客数 += 座りたい席数
	return
#defcfunc 来店組数
	return 組数
#defcfunc 現在のお客さん
	return 客数
#defcfunc 席問い合わせ int p1
	return table(p1)
#global
//----------長テーブルのうなぎ屋------------
randomize
R = 95.


最大席数 = 50
最大組数 = 10

入力1 = str(最大席数) + " " + str(最大組数)
うなぎ屋さんの設定 入力1
title "設定=" + 入力1
repeat,1

	cls
	入力2 = str(1 + rnd(最大席数)) + " " + (1 + rnd(1 + rnd(1 + rnd(最大席数))))
	お客来店 入力2
	repeat 最大席数
		pos 200 + R * sin(3.141592 *  2 / 最大席数 * cnt), 200 + R * cos(3.141592 * 2 / 最大席数 * cnt)
		mes 席問い合わせ(cnt)
	loop
	dialog 入力2+"\n"+来店組数()+"組目"
	if 来店組数() = 最大組数{
		pos 0,0
		mes 現在のお客さん()+"名来店中"
		break
	}
loop