2014暑假集训汇总.pptVIP

  • 4
  • 0
  • 约2.32万字
  • 约 74页
  • 2017-12-01 发布于浙江
  • 举报
2014暑假集训汇总

2014暑假集训汇总 BY 张智伟 例题③ friend 分析 题目说得那么多,其实就是一个求质数的…… 数据太大了,所以要用到筛子。 分析 4、如何判断三角形 选定每一类三角形的最简单边,横边或竖边作为基准边a,b 针对每类三角形,分别从a,b两点出发判定相应边方向是否存在木棒 枚举三角形 for xa←0 to 9 do for ya←0 to 9 do for i←1 to 9 do begin 确定顶点b的坐标(xb, yb),使|ab|=i; 确定顶点c的坐标(xc, yc); end; 例题④ 数三角 分析 5、如何快捷有效统计三角形呢? 考查右图情况的三角形, 能否同时统计嵌套三角形呢? 引入f[0..9][0..9][0..7] f[x1][y1][d]为从网格点(x1,y1) 出发,沿方向d可达到的最大距 离(同样长度是以木棍数计算的)。这样点P(x1,y1) 和Q(x2,y2)之间是否由木棍相连的条件可以写成: f[x1][y1][d] ? |PQ|或f[x2][y2][BACK[d]] ? |PQ| 其中d为P到Q的方向 例题④ 数三角 分析 例:检验第I类三角形即a端点的2方向,b端点的3方向是否存在长度为i单位的边} if (f[xa,ya,2]=i)and(f[xb,yb,3]=i) then c:=c+1; 检验第Ⅴ类三角形即a端点的7方向,b端点的5方向是否存在长度为i/2单位的边 if (f[xa,ya,7]=i/2)and(f[xb,yb,5]=i/2) then c:=c+1 例题④ 数三角 例题④ 数三角 程序 program count; const dx:array[1..8] of longint=(0,0,-1,-1,-1,1,1,1); dy:array[1..8] of longint=(1,-1,0,-1,1,0,-1,1); var i,j,k,i1,i2,i3,j1,j2,j3,n:longint; sx,sy,ex,ey,mx,my,ans:longint; f:array[0..19,0..19,-1..1,-1..1] of boolean; go:array[0..19,0..19,0..19,0..19] of boolean; procedure ins(sx,sy,ex,ey:longint); begin f[sx,sy,ex-sx,ey-sy]:=true; end; function det(ax,ay,bx,by,cx,cy:longint):longint; begin exit((cx-ax)*(by-ay)-(cy-ay)*(bx-ax)); end; 例题④ 数三角 程序 begin assign(input,count.in);reset(input); assign(output,count.out);rewrite(output); readln(n); fillchar(f,sizeof(f),false); fillchar(go,sizeof(go),false); for i:=1 to n do begin readln(sx,sy,ex,ey); sx:=2*sx;sy:=2*sy; ex:=2*ex;ey:=2*ey; mx:=(sx+ex) div 2;my:=(sy+ey) div 2; ins(sx,sy,mx,my); ins(ex,ey,mx,my); ins(mx,my,sx,sy); ins(mx,my,ex,ey); end; 例题④ 数三角 程序 for i:=0 to 18 do for j:=0 to 18 do for k:=1 to 8 do

文档评论(0)

1亿VIP精品文档

相关文档