View Code of Problem 15

#include<bits/stdc++.h>
using namespace std;

int main(void)
{
  int n,m,i,num=0;
  double a2,x[9],y[9];
  vector <double> a(9);
  float sum;
  while(cin>>n){
    if(n==0)
      break;
    sum=0;++num;
    while(n--)
    {
      cin>>m;
      for(i=0;i<m;i++)
        cin>>x[i]>>y[i];
      for(i=1;i<m;i++)
        a[i-1]=pow(x[i]-x[0],2)+pow(y[i]-y[0],2);
      a2=a[0];
      for(i=1;i<m-1;i++)
        if(a2>a[i])
          a2=a[i];
        if(m==3)
          sum+=a2*sqrt(3)/4.0;
        else if(m==4)
          sum+=a2;
          else if(m==5)
            sum+=a2*1.72048;
            else if(m==6)
              sum+=a2*(3.0*sqrt(3)/2);
              else if(m==7)
                sum+=a2*3.63391;
                else if(m==8)
                  sum+=a2*2.0*(sqrt(2)+1.0);
                  }
    cout<<"Case #"<<num<<": ";
    printf("%.4f\n",sum);
 }
}

Double click to view unformatted code.


Back to problem 15