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]=pow(x[i]-x[0],2)+pow(y[i]-y[0],2);
	a2=a[1];
    for(i=2;i<m;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);
              }
	  printf("%.4f\n",sum);
  }
}

Double click to view unformatted code.


Back to problem 15