среда, 7 января 2009 г.

Програмчлалын XV онлайн тэмцээний "Квадратууд" бодлогын бодолт

Chimed



#include <cstdio>
#include <vector>
#include <algorithm>
#include <iostream>
#include <map>
#include <cmath>
using namespace std;
double a,b,c;
double x1[1000],x2[1000],y3[1000],y2[1000];
double x[2000],y[2000];
char table[2000][2000]={0};
int n,i,xi1,xi2,yi1,yi2,j,k;
double answer=0.0;
int main(){
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%lf %lf %lf",&a,&b,&c);
x1[i]=a-c/2;
y3[i]=b-c/2;
x2[i]=a+c/2;
y2[i]=b+c/2;
x[2*i]=x1[i];
x[2*i+1]=x2[i];
y[2*i]=y3[i];
y[2*i+1]=y2[i];
}
sort(x,x+2*n);
sort(y,y+2*n);
for (i=0;i<n;i++)
{
xi1=lower_bound(x,x+2*n,x1[i])-x;
xi2=lower_bound(x,x+2*n,x2[i])-x;
yi1=lower_bound(y,y+2*n,y3[i])-y;
yi2=lower_bound(y,y+2*n,y2[i])-y;
for (j=xi1;j<xi2;j++)
for (k=yi1;k<yi2;k++)
table[j][k]=1;
}
for (j=0;j<2*n;j++)
for (k=0;k<2*n;k++)
if (table[j][k])
{
// printf("%.1lf %.1lf %.1lf %.1lf\n",x[j],y[k],x[j+1],y[k+1]);
answer+=(x[j+1]-x[j])*(y[k+1]-y[k]);
}
printf("%.3lf",answer);
return 0;
}

Комментариев нет:

Сайтад оролцогч сургуулиуд (45)

  • 11-р сургууль
  • 24-р сургууль
  • 27-р сургууль
  • 6-р сургууль
  • 84-р сургууль
  • Aptech сургалтын төв
  • DaTS
  • Dhaka City College
  • Dickinson State University
  • DMTS
  • Huree-ICT
  • Huwsgul MGS
  • Japan TUT
  • MCS
  • MUENCHEN UNI
  • MUST-EHIS
  • NUM-SMCS
  • Osaka University
  • Progress
  • shine-ireedui
  • SHUTIS, HMTS
  • STS
  • Ulaangom College
  • USI MC
  • Баянхонгор аймгийн Номгон сургууль
  • Бээжингийн их сургууль
  • Дармштадтын технологийн их сургууль
  • Дархан хотын RGB 26-р дунд сургууль
  • Дорнод аймгийн 1-р сургууль
  • Калифорнийн их сургууль
  • Массачусетсийн технологийн их сургууль
  • МУБИС
  • МУҮИС
  • МУҮИС МКС
  • МУҮИС МТС
  • Ражив Гандийн нэрэмжит Үйлдвэр урлалын сургууль
  • Сант
  • Токиогийн их сургууль
  • Улаанбаатарын Монгол-Туркийн сургууль
  • Хөвсгөл аймгийн Ирээдүй сургууль
  • Шинэ Монгол
  • Шинэ үе
  • ШУТИС КтМС
  • Эм Ай Ю олон улсын дээд сургууль
  • Эрдэнэтийн Монгол-Туркийн сургууль