IOI 2013 の 2 番目の問題は次のように述べています。
美術史の試験が近づいていますが、学校では美術の授業よりも情報学に注意を払っています。試験を受けるには、プログラムを作成する必要があります。
試験はいくつかの絵で構成されます。各絵画は、1、2、3、4 の番号が付けられた 4 つの特徴的なスタイルの 1 つの例です。スタイル 1 には、新生物の現代美術が含まれています。スタイル 2 には、印象派の風景が含まれています。スタイル 3 には、表現主義のアクション ペインティングが含まれています。スタイル 4 には、カラー フィールド ペインティングが含まれています。
あなたの仕事は、与えられた絵画のデジタル画像から、その絵画がどのスタイルに属しているかを判断することです。
画像はピクセルの H×W グリッドとして与えられます。イメージの行には上から下に 0、…、(H 1) の番号が付けられ、列には左から右に 0、…、W 1 の番号が付けられます。ピクセルは、画像の各ピクセルの赤、緑、青の量をそれぞれ表す 2 次元配列 R 、 G 、および B を使用して記述されます。これらの量の範囲は 0 (赤、緑、または青なし) から 255 (赤、緑、または青の最大量) です。
実装 次のように、関数 style() を実装するファイルを送信する必要があります。
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]);
この関数は、画像のスタイルを決定する必要があります。パラメータは次のとおりです。
- H: 画像内のピクセルの行数。
- W: 画像内のピクセルの列数。
- R: サイズ H×W の 2 次元配列で、画像の各ピクセルの赤の量を示します。
- G: サイズ H×W の 2 次元配列で、画像の各ピクセルの緑の量を示します。
- B: サイズ H×W の 2 次元配列で、画像の各ピクセルの青の量を示します。
例の写真は問題の PDFにあります
既製のプログラムは必要ありません。私はこれが解決されるかもしれないことについて無知であるため、私が始めるためのヒントが1つか2つあればいいでしょう.