Example #1
0
int main()
{
  sf("%d%d%d%d",&xa,&ya,&xb,&yb);
  sf("%d",&n);
  ren[1].x=xa;ren[1].y=ya;
  ren[2].x=xb;ren[2].y=ya;
  ren[3].x=xa;ren[3].y=yb;
  ren[4].x=xb;ren[4].y=yb;
  k=4;
  for (i=min(ya,yb)+1;i<=max(ya,yb)-1;i++)
  {
    k++;
    ren[k].x=xa;ren[k].y=i;
    k++;
    ren[k].x=xb;ren[k].y=i;
  }
  for (i=min(xa,xb)+1;i<=max(xa,xb)-1;i++)
  {
    k++;
    ren[k].x=i;ren[k].y=ya;
    k++;
    ren[k].x=i;ren[k].y=yb;
  }
  for (i=1;i<=n;i++)
  {
    dian.input();
    sf("%d",&r);
    for (j=1;j<=k;j++)
      if (dst(dian,ren[j])<=r)
        ff[j]=1;
  }
  for (i=1;i<=k;i++)
    if (!ff[i])
      m++;
  cout<<m<<endl;
  return 0;
}
Example #2
0
 void input()
 {
   s.input();e.input();
 }
Example #3
0
 const C &input() { 
     mid.input(); 
     scanf("%lf", &r); 
     return *this;
 } 
Example #4
0
int main()
{
  freopen("ti.in","r",stdin);
  scanf("%d",&zu);
  for (zz=1;zz<=zu;zz++)
  {
    yuan.input();
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;i++)
    {
      dian[i].input();
      dis[i]=dst(yuan,dian[i]);
      scanf("%d%d",&shi[i],&shu[i]);
    }
    memset(ff,-1,sizeof(ff));
    memset(cc,0,sizeof(cc));
    c=0;
    for (i=1;i<=n;i++)
    {
      if (ff[i]!=-1)
        continue;
      c++;
      SEG ss(yuan,dian[i]);
      for (j=1;j<=n;j++)
        if (ol(ss,dian[j]))
        {
          cc[c]++;
          she[c][cc[c]]=j;
        }
      sort(&she[c][1],&she[c][cc[c]+1],cmp);
      ff[she[c][1]]=0;
      shuh[c][1]=shu[she[c][1]];
      shih[c][1]=shi[she[c][1]];
      for (j=2;j<=cc[c];j++)
      {
        ff[she[c][j]]=she[c][j-1];
        shuh[c][j]=shuh[c][j-1]+shu[she[c][j]];
        shih[c][j]=shih[c][j-1]+shi[she[c][j]];
      }
      tou[c]=she[c][cc[c]];
    }
    for (i=1;i<=m;i++)
      f[0][i]=-1;
    f[0][0]=0;
    for (i=1;i<=c;i++)
    {
      f[i][0]=0;
      for (j=0;j<=m;j++)
      {
        if (f[i-1][j]!=-1)
          f[i][j]=f[i-1][j];
        else
          f[i][j]=-1;
        for (k=1;k<=cc[i];k++)
          if (j>=shih[i][k]&&f[i-1][j-shih[i][k]]!=-1)
            f[i][j]=max(f[i][j],f[i-1][j-shih[i][k]]+shuh[i][k]);
      }
    }
    mm=0;
    for (i=0;i<=m;i++)
      mm=max(mm,f[c][i]);
    cout<<mm<<endl;
  }
  return 0;
}