시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 83 | 50 | 42 | 62.687% |
情報オリンピック日本委員会では,台湾大会に向かう選手を応援するために新しい JOI 旗を作成することにした.
JOI 旗は,正方形が縦に M 行,横に N 列並んだ形をしており,各正方形には J,O,I のいずれかの文字が 1 つずつ書かれている.
JOI 旗の例
情報オリンピック日本委員会は JOI 旗とは別に JOI 紋章というものを決めている.JOI 紋章は,正方形が縦に 2 行,横に 2 列並んだ形をしており,各正方形には J,O,I のいずれかの文字が 1 つずつ書かれている.
JOI 紋章の例
JOI 旗に含まれる JOI 紋章の個数とは,JOI 旗に含まれる縦 2 行,横 2 列の領域のうち,その領域の J,O,I の配置が JOI 紋章と (回転や裏返しをせずに) 一致しているものの個数のことである.条件を満たす縦2 行,横 2 列の領域同士が重なっていてもそれらを別々に数えるものとする.
情報オリンピック日本委員会は古い JOI 旗と 1 枚の白紙を持っている.白紙は JOI 旗を構成する正方形1 個分の大きさで,J,O,I のうち好きな 1 文字を書き込むことができる.情報オリンピック日本委員会は以下のいずれか 1 つの操作をして,新しい JOI 旗を作成することにした.
古い JOI 旗に対して何も操作せず,そのまま新しい JOI 旗とする.白紙は使用しない.
白紙に 1 文字書き込み,古い JOI 旗のいずれかの正方形に重ねて貼り付けることで古い JOI 旗のうち 1 箇所を変更する.変更後の JOI 旗を新しい JOI 旗とする.
情報オリンピック日本委員会は新しい JOI 旗に含まれる JOI 紋章の個数をできるだけ多くしたいと思っている.あなたは新しい JOI 旗に含まれる JOI 紋章の個数の最大値を求めることになった.
古い JOI 旗と JOI 紋章の情報が与えられたとき,新しい JOI 旗に含まれる JOI 紋章の個数の最大値を求めるプログラムを作成せよ.
標準入力から以下のデータを読み込め.
標準出力に,新しい JOI 旗に含まれる JOI 紋章の個数の最大値を表す整数を 1 行で出力せよ.
번호 | 배점 | 제한 |
---|---|---|
1 | 30 | M ≤ 50, N ≤ 50. |
2 | 70 | 追加の制限はない. |
3 5 JOIJO IJOOO IIJIJ JO IJ
3
古い JOI 旗と JOI 紋章は問題文中の例の通りである.上から 2 行目,左から 4 列目の正方形を白紙を用いて J に変更すると,次のような形になる.
JOI 旗の 1 箇所を変更した例
このように変更した後の JOI 旗には次に示す 3 箇所に JOI 紋章と同じ配置の領域がある.
JOI 紋章と同じ配置の領域
JOI 紋章と同じ配置の領域が 4 箇所以上となる新しい JOI 旗は存在しないので,新しい JOI 旗に含まれる JOI 紋章の個数の最大値は 3 である.
2 6 JOJOJO OJOJOJ OJ JO
2
白紙を使用しなくても最大値が得られる場合があることに注意せよ.
2 2 JI IJ JJ JJ
0
この入出力例の場合,考えられるどの新しい JOI 旗においても,JOI 紋章が 1 つも含まれない.