Example #1
0
void main(void)
{

 A.x=3;
 A.y=-5;
 
 B.x=17;
 B.y=49;
 
 C.x=-99;
 C.y=2;   


 
 AA.x=(float)A.x;
 AA.y=(float)A.y;
 
 BB.x=(float)B.x;
 BB.y=(float)B.y; 
 
 CC.x=(float)C.x;
 CC.y=(float)C.y; 
 
dist=distance( &A, &B, &C );
dist1=distance1( &AA , &BB , &CC ); 


 while(1);
}
Example #2
0
void solve(){
	memset(matches,0,sizeof(matches));
//	printf("%d\n",sizeof(matches));
	memset(links,0,sizeof(links));
	memset(ans,0,sizeof(ans));
	for(int i=1;i<n;i++){
		double distOfI = 2*distance1(i);
		for(int j = 1;j<=m;j++){
			if(distance2(i,j)<=distOfI){
				matches[i][j] = 1;
			}
		}
	}
	int s = n;
	for(int i=1;i<=n;i++){
		memset(visited,0,sizeof(visited));
		s+=dfs(i);
	}
	printf("%d\n",s);
	for(int i=1;i<n;i++){
		printf("%d %d ",routes[i][0],routes[i][1]);
		if(ans[i]){
			printf("%d %d ",places[ans[i]][0],places[ans[i]][1]);
		}
	}
	printf("%d %d",routes[n][0],routes[n][1]);
	printf("\n");
}
Example #3
0
int main()
{
	freopen("in.txt", "r", stdin);

	ULL n, m;
	/*
	 while(scanf("%llu%llu", &n, &m) != EOF)
	 {
	 printf("%llu,%llu---->>%llu, %d\n", n, m, distance(n, m), distance1(n, m));
	 }
	 */
	for (ULL i = 1; i <= 10000; ++i)
	{
		for (ULL j = i; j <= 10000; ++j)
		{
			if (distance(i, j) != distance1(i, j))
			{
				printf("%llu,%llu---->>%llu, %d\n", i, j, distance(i, j),distance1(i, j));
			}
		}
	}
	fclose(stdin);
	return 0;
}
void QgsMapToolRectangle3Points::cadCanvasMoveEvent( QgsMapMouseEvent *e )
{
  QgsPoint point = mapPoint( *e );

  if ( mTempRubberBand )
  {
    switch ( mPoints.size() )
    {
      case 1:
      {
        std::unique_ptr<QgsLineString> line( new QgsLineString() );
        line->addVertex( mPoints.at( 0 ) );
        line->addVertex( point );
        mTempRubberBand->setGeometry( line.release() );
        setAzimuth( mPoints.at( 0 ).azimuth( point ) );
        setDistance1( mPoints.at( 0 ).distance( point ) );
      }
      break;
      case 2:
      {
        setDistance2( mPoints.at( 1 ).distance( point ) );
        int side = QgsGeometryUtils::leftOfLine( point.x(), point.y(),
                   mPoints.at( 0 ).x(), mPoints.at( 0 ).y(),
                   mPoints.at( 1 ).x(), mPoints.at( 1 ).y() );

        setSide( side < 0 ? -1 : 1 );

        const double xMin = mPoints.at( 0 ).x();
        const double xMax = mPoints.at( 0 ).x() + distance2( );

        const double yMin = mPoints.at( 0 ).y();
        const double yMax = mPoints.at( 0 ).y() + distance1();

        const double z = mPoints.at( 0 ).z();

        mRectangle = QgsBox3d( xMin, yMin, z, xMax, yMax, z );


        mTempRubberBand->setGeometry( QgsMapToolAddRectangle::rectangleToPolygon( true ) );
      }
      break;
      default:
        break;
    }
  }
}