PKU 2659 Bomb Game

http://poj.org/problem?id=2659
a*bのフィールドにピルボックスがひとつ隠されている。
このとき、ある正方形の範囲にピルボックスのあるマスが含まれているかという情報がいくつか与えられるので、ピルボックスの含まれている可能性のあるマスの個数を答えろというような問題。

簡単なはずなのに、サンプルがなかなか合わないというアホっぷりを発揮。

bool nothing[100][100];
int likely[100][100];

main(){
  int a,b,k;
  cin>>a>>b>>k;
  int pp=0;
  rep(i,k){
    int r,s,p,t;
    cin>>r>>s>>p>>t;
    --s,--r;
    pp+=t;
    for(int x=max(0,r-p/2);x<=min(a-1,r+p/2);++x){
      for(int y=max(0,s-p/2);y<=min(b-1,s+p/2);++y){
        likely[x][y]+=t;
        nothing[x][y]|=!t;
      }
    }
  }
  int ans=0;
  rep(x,a){
    rep(y,b){
      if(!nothing[x][y] && likely[x][y]==pp)++ans;
    }
  }
  cout<<ans<<endl;  
}