Codeforces #39 B "Repaintings"
問題:http://codeforces.com/contest/40/problem/B
プラクティス.
左上の隅が黒となるようなチェック模様となるn×mのチェスボードがある.この黒の部分を0で埋めて,あるマスの四角の隅が四点同じ数字で接する場合,自身の数字をインクリメントする.与えられた数値を持つマスの個数を求める.
本番では「chess board」の単語を見逃して一時間あーでもないこーでもないと考えてた.チェスボードってことに気づいたら長方形の外側からの距離における長方形の周囲長の半分が答えってことがわかったので式を書いたらタイムアウト.
import java.util.*; public class B_Repaintings { public static void main(String[] z) { Scanner s = new Scanner(System.in); int n = s.nextInt(), m = s.nextInt(), x = 2 * (s.nextInt() - 1); n -= x; m -= x; System.out.println(n<0||m<0?0:n==1&&m==1?1:n+m-2); } }
import java.util.*; public class B_Repaintings { public static void main(String[] z) { Scanner s = new Scanner(System.in); int n=s.nextInt()-1,m=s.nextInt()-1,x=2*s.nextInt()-2; System.out.println((n-=x)<0||(m-=x)<0?0:n+m<1?1:n+m); } }