練習(SRMs 1 145 DIV 2 200)
SRMs 1 145 DIV2 200
英語難しい。
問題を読む為の英単語
単語 | 意味 |
---|---|
dithering | ディザリング ※1 |
determine | 決心する |
upper | 高い方 |
surround | 取り巻く |
問題概要
入力:ディザリング文字列
: スクリーン
出力:ディザリング文字の数
スクリーン内のディザリング文字列の数を解答せよ。
例示
"BW"
{"BBBBBBBB",
"BBWBWBWB",
"BWBWBWBB",
"BBWBWBWB",
"BWBWBWBB",
"BBBBBBBB"}
Returns: 48
提出コード(C#)
class ImageDithering { public static int count(string dithered, string[] screen){ int cnt = 0; for (int i = 0; i < dithered.Length; i++) { for (int j = 0; j < screen.Length; j++) { for (int k = 0; k < screen [j].Length; k++) { int cmp = (dithered.Substring (i,1)).CompareTo (screen [j].Substring (k,1)); if (cmp == 0) { cnt++; } } } } return cnt; } }
よく使いそうなコード
1.特定の位置の文字列を指定した文字数分取得
文字列.Substring (位置,文字数)
2.文字列比較
文字列A.CompareTo(文字列B)
0であれば同値
その他
※1 使用可能な色数が少ない環境で中間色を表現するために、表示可能な色を組み合わせて表示すること。