ある人のアレルギースコアが与えられたとき、その人が特定の項目にアレルギーがあるかどうかと、アレルギーの一覧全体を判定します。
アレルギー検査では、1つの数値のスコアが得られます。このスコアには、その人が持つ(検査の対象となった)すべてのアレルギーの情報が含まれています。
検査の対象となった項目(とその値)は次のとおりです。
たとえば、Tomがpeanutsとchocolateにアレルギーがある場合、スコアは34になります。
では、この34というスコアだけが与えられたとき、プログラムは次のことを判定できる必要があります。
注意:スコアには、上に挙げていないアレルゲン(つまり256、512、1024などの値を持つアレルゲン)が含まれていることがあります。プログラムは、スコアのそうした部分を無視してください。たとえば、アレルギースコアが257の場合、プログラムは eggs(1)のアレルギーだけを報告します。
この演習ではunordered_setを使います。
集合に要素を追加するには、おそらくemplace関数が必要です。
シラバスにはまだ出てきていませんが、constに突然出会うかもしれません。
変数の前に付けると、安全装置のように働きます。
constが付いた変数は変更できません。
この演習には、unsignedというキーワードも登場します。
これを付けた整数は、扱える範囲が2倍になりますが、負の値になることはありません。