PPCGクロースがプレゼントを届けるのを手伝う
概要
PPCGクラウスはプレゼントを届けるのが遅くなりました。最近は奇妙な小さな子供がたくさんいるからです。これにより、PPCG Clausがすべてのプレゼントを正しい場所に届けることがはるかに難しくなります。あなたの課題は、彼がプレゼントを正しく提供するのを助けることです。
複雑さ
彼が配達することになっている子供を表す大文字の名前のリストと数字で表されたプレゼントのリストを考えると、あなたはその子供たちにプレゼントを配布する方法を理解しなければなりません。もちろん、キャッチもあります。
子供たちが奇妙な仲間(最初のイニシャルはASCIIコード奇数)である場合、彼は奇妙な贈り物を望んでいます!彼が偶数である場合(最初のイニシャルはASCIIコードでも)、明らかに彼は偶数を与えられなければなりません!ただし、3で割り切れる子はいたずらで、いたずらな若者なので、PPCGクラウスは来年行動させるためにそれらを完全に無視しなければなりません。彼のルートを成功と見なすには、すべてのプレゼントを彼らに値するすべての子供に届けなければならず、一人の子供にあまりにも多くのプレゼントを与えてはなりません。子どもたちが仲間よりも3つ以上のプレゼントを受け取った場合、来年はいたずらな子どもになるリスクがあり、それは正しくありません!また、善良な子供が別の善良な子供が受け取らなかったときにプレゼントを受け取る場合、それはその子供を悪に変えることにもなります。
例
子供たちは次のとおりです。
Kids = ["Amy", "Betty", "Clyde", "Dave", "Francine"] = [A,B,C,D,F] = [65,66,67,68,70]
- ベティは人類の悩みの種であり、明らかに数字3が付いています。
- エイミーとクライドは誕生以来変人であり、プレゼントさえも受け取りたくない。
- デイブとフランシーヌは子供でも普通です。彼らはプレゼントさえも受け取るべきです!
プレゼントは次のとおりです。
Presents = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
可能な出力は次のとおりです。
[
['Amy',[1,3,5]],
['Betty',[]],
['Clyde',[7,9,11,13]],
['Dave',[2,4,6,8]],
['Francine',[10,12,14]]
]
例外シナリオ
しかし、PPCG Clausが準備ができて喜んでいるからといって、PPCG Clausができるというわけではありません。以下は、PPCG Clausへの悪いニュースを次のメッセージで伝える必要がある例外シナリオのリストです。
PPCGmas is cancelled!
次のシナリオでは、クリスマスがキャンセルされます。
- 子供はいない。
[],[1,2,3]-まあ、彼らはデド。
- 良い子はいない。
["Betty"],[1,2,3]-真剣に、ベティをねじ込みます。
- プレゼントがないか、良い子よりも少ないプレゼントがあります。
["Amy","Charles"],[]-1つ以上がプレゼントを受け取りません。["Amy","Charles"],[1]-1つ以上がプレゼントを受け取りません。
- すべての良い子供たちを満足させる奇数/偶数プレゼントはありません。
["Amy","Dave"],[2,4,6]-エイミーはめちゃくちゃです。
PPCGmasに影響を与えないシナリオのリストは次のとおりです。
- 残りのプレゼント(すべての子供は、最大限のプレゼントを受け取る必要があります)。
["Amy","Dave"],[2,4,6,8,10,12,14,7,9] = [["Amy",[7,9]],["Dave",[2,4,6,8]]]
繰り返される主なルール
- 良い子は、最初のイニシャルに基づいて、偶数または奇数です。
- 悪い子には、3で割り切れる最初のイニシャルがあります。
- すべての善良な子供は、少なくとも1つのプレゼントを受け取らなければなりません。
- 善良な子供は、他の善良な子供よりも2つ以上のプレゼントを受け取ることはできません。
- 残りのプレゼントがある場合は、違反せずに最大限に配布する必要があります4。
- 悪い子供はプレゼントを一切受け取らないでください。
- これらのいずれかに違反した場合、を正確に出力する必要があります
PPCGmas is cancelled!。
I / Oフォーマットの要件
- 最初の入力は、最初のイニシャルだけでなく、配列/リスト/コンマ区切りのフルネームの文字列でなければなりません。
- 2番目の入力は、正整数の配列/リスト/コンマ区切りの文字列でなければなりません。
- 出力は、意味のあるプレゼントの配布方法を示すものです。または
PPCGmas is Cancelled!。
受賞基準:コードゴルフ
TL; DR:ベティはジャークです、競争しないでください。
3。編集:「ベティをねじ込む」必要がある場合、なぜ彼女はまったく挑戦しているのですか?