标签:
题目来源:http://codevs.cn/problem/2994/
可以用回溯法跑出所有的情况,也可以换种方法把能打的敌人做上标记。反正无论如何爆搜既可以过。
var f:array[1..500,1..500] of longint; x1,x2,x,y:array[-500..500] of longint; n,k,i,a,b,j:Longint; ans:longint=0; begin read(n,k); for i:=1 to k do begin read(a,b); inc(x[a]); inc(y[b]); inc(x1[a+b]); inc(x2[a-b]); f[a,b]:=1; end; for i:=1 to n do for j:=1 to n do begin if x[i]+y[j]+x1[i+j]+x2[i-j]-3*f[i,j]=k then inc(ans); end; writeln(ans); end.
标签:
原文地址:http://www.cnblogs.com/yangqingli/p/4739349.html