Ejemplo n.º 1
0
void Alg(int digit[MAX],int idx, int pos, int digitCount){
	
	int i,count=0;;
	if (idx == pos){
		for (i=0;i<pos; i++){
			if (digit[i] == 1){
				count ++;
			}
		}

		if (count == digitCount){
			for (i=0; i<pos; i++){
				printf("%d",digit[i]);
			}
			printf("\n");
			return;
		}

		else
			return ;
	}

	digit[idx] = 1;
	Alg(digit,idx+1,pos,digitCount);
	digit[idx] = 0;
	Alg(digit,idx+1,pos,digitCount);
}
Ejemplo n.º 2
0
    Py::Object projectToDXF(const Py::Tuple& args)
    {
        PyObject *pcObjShape;
        PyObject *pcObjDir=0;
        const char *type=0;
        float scale=1.0f;
        float tol=0.1f;

        if (!PyArg_ParseTuple(args.ptr(), "O!|O!sff",
            &(TopoShapePy::Type), &pcObjShape,
            &(Base::VectorPy::Type), &pcObjDir, &type, &scale, &tol))
            throw Py::Exception();

        TopoShapePy* pShape = static_cast<TopoShapePy*>(pcObjShape);
        Base::Vector3d Vector(0,0,1);
        if (pcObjDir)
            Vector = static_cast<Base::VectorPy*>(pcObjDir)->value();
        ProjectionAlgos Alg(pShape->getTopoShapePtr()->getShape(),Vector);

        bool hidden = false;
        if (type && std::string(type) == "ShowHiddenLines")
            hidden = true;

        Py::String result(Alg.getDXF(hidden?ProjectionAlgos::WithHidden:ProjectionAlgos::Plain, scale, tol));
        return result;
    }
Ejemplo n.º 3
0
    Py::Object projectEx(const Py::Tuple& args)
    {
        PyObject *pcObjShape;
        PyObject *pcObjDir=0;

        if (!PyArg_ParseTuple(args.ptr(), "O!|O!",
            &(TopoShapePy::Type), &pcObjShape,
            &(Base::VectorPy::Type), &pcObjDir))
            throw Py::Exception();

        TopoShapePy* pShape = static_cast<TopoShapePy*>(pcObjShape);
        Base::Vector3d Vector(0,0,1);
        if (pcObjDir)
            Vector = *static_cast<Base::VectorPy*>(pcObjDir)->getVectorPtr();

        ProjectionAlgos Alg(pShape->getTopoShapePtr()->getShape(),Vector);

        Py::List list;
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.V)) , true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.V1)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.VN)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.VO)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.VI)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.H)) , true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.H1)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.HN)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.HO)), true));
        list.append(Py::Object(new TopoShapePy(new TopoShape(Alg.HI)), true));

        return list;
    }
Ejemplo n.º 4
0
 void operator()(CmplxIter1 dstBegin, SrcIter srcBegin, CmplxIter2 tmpBegin,
   const Twiddler<typename CmplxIter1::value_type::value_type>& twiddler,
   size_t rows, size_t cols, size_t dstStride, size_t srcStride, size_t tmpStride)
 {
   for(size_t c = 0; c < cols; ++c)
   {
     Alg()(dstBegin + c*dstStride, srcBegin + c*srcStride, tmpBegin,
       twiddler, rows, cols*dstStride, cols*srcStride, tmpStride);
   }
 }
Ejemplo n.º 5
0
int main(void){
	int arr[ARR_SIZE];
	int i;
	int flag;

	for(i=0; i<ARR_SIZE; i++){
		scanf("%d",&arr[i]);
	}

	flag = Alg(arr);
	printf("%d \n",arr);

	return 0;
}
Ejemplo n.º 6
0
int main()
{
	int i,result;
	int numOfCows;
	int cows[STACK_SIZE];

	


	scanf("%d",&numOfCows);
	for (i=0; i<numOfCows; i++){
		scanf("%d",&cows[i]);
	}

	result = Alg(cows,numOfCows);
	printf("%d\n",result);


	return 0;
}
Ejemplo n.º 7
0
int main()
{



	int digit[MAX] = {0};
	int i;
	int digitCount, pos;



		scanf("%d%d",&pos,&digitCount);


		Alg(digit,0,pos,digitCount);

		for (i=0; i<pos; i++){
			digit[i] = 0;
		}

	return 0;	
}
Ejemplo n.º 8
0
int main()
{
	int itr;
	int nCount;	

	int i,result;
	int numOfCows;
	int cows[STACK_SIZE];

	scanf("%d", &nCount);	

	for(itr=0; itr<nCount; itr++){
		scanf("%d",&numOfCows);
		for (i=0; i<numOfCows; i++){
			scanf("%d",&cows[i]);
		}

		result = Alg(cows,numOfCows);
		printf("#testcase%d\n",itr+1);
		printf("%d\n",result);
	}

	return 0;
}
Ejemplo n.º 9
0
    Py::Object projectToSVG(const Py::Tuple& args, const Py::Dict& keys)
        {
            static char* argNames[] = {"topoShape", "direction", "type", "tolerance", "vStyle", "v0Style", "v1Style", "hStyle", "h0Style", "h1Style", NULL};
            PyObject *pcObjShape = 0;
            PyObject *pcObjDir = 0;
            const char *extractionTypePy = 0;
            ProjectionAlgos::ExtractionType extractionType = ProjectionAlgos::Plain;
            const float tol = 0.1f;
            PyObject* vStylePy = 0;
            ProjectionAlgos::XmlAttributes vStyle;
            PyObject* v0StylePy = 0;
            ProjectionAlgos::XmlAttributes v0Style;
            PyObject* v1StylePy = 0;
            ProjectionAlgos::XmlAttributes v1Style;
            PyObject* hStylePy = 0;
            ProjectionAlgos::XmlAttributes hStyle;
            PyObject* h0StylePy = 0;
            ProjectionAlgos::XmlAttributes h0Style;
            PyObject* h1StylePy = 0;
            ProjectionAlgos::XmlAttributes h1Style;
        
            // Get the arguments

            if (!PyArg_ParseTupleAndKeywords(
                    args.ptr(), keys.ptr(), 
                    "O!|O!sfOOOOOO", 
                    argNames,
                    &(TopoShapePy::Type), &pcObjShape,
                    &(Base::VectorPy::Type), &pcObjDir, 
                    &extractionTypePy, &tol, 
                    &vStylePy, &v0StylePy, &v1StylePy, 
                    &hStylePy, &h0StylePy, &h1StylePy))
          
                throw Py::Exception();

            // Convert all arguments into the right format

            TopoShapePy* pShape = static_cast<TopoShapePy*>(pcObjShape);

            Base::Vector3d directionVector(0,0,1);
            if (pcObjDir)
                directionVector = static_cast<Base::VectorPy*>(pcObjDir)->value();

            if (extractionTypePy && string(extractionTypePy) == "ShowHiddenLines")
                extractionType = ProjectionAlgos::WithHidden;

            if (vStylePy)
                copy(Py::Dict(vStylePy), inserter(vStyle, vStyle.begin()));
            if (v0StylePy)
                copy(Py::Dict(v0StylePy), inserter(v0Style, v0Style.begin()));
            if (v1StylePy)
                copy(Py::Dict(v1StylePy), inserter(v1Style, v1Style.begin()));
            if (hStylePy)
                copy(Py::Dict(hStylePy), inserter(hStyle, hStyle.begin()));
            if (h0StylePy)
                copy(Py::Dict(h0StylePy), inserter(h0Style, h0Style.begin()));
            if (h1StylePy)
                copy(Py::Dict(h1StylePy), inserter(h1Style, h1Style.begin()));
        
            // Execute the SVG generation

            ProjectionAlgos Alg(pShape->getTopoShapePtr()->getShape(), 
                                directionVector);
            Py::String result(Alg.getSVG(extractionType, tol, 
                                         vStyle, v0Style, v1Style, 
                                         hStyle, h0Style, h1Style));
            return result;
        }
Ejemplo n.º 10
0
void init_algs() {

  AUFs.push_back(Alg(""  , 0));
  AUFs[0].name_ = ".";
  AUFs.push_back(Alg("U", 1));
  AUFs.push_back(Alg("U2", 1));
  AUFs.push_back(Alg("U'", 1));

  const int RL_BOOST = 1;
  const int SLEDGE_BOOST = 1;

  triggers[SLOT_H_FL].push_back(Alg("L' U' L", 3 - RL_BOOST));
  triggers[SLOT_H_FL].push_back(Alg("L' U2 L", 3 - RL_BOOST));
  triggers[SLOT_H_FL].push_back(Alg("L' U L", 3 - RL_BOOST));
  triggers[SLOT_H_FL].push_back(Alg("F U F'", 3));
  triggers[SLOT_H_FL].push_back(Alg("F U2 F'", 3));
  triggers[SLOT_H_FL].push_back(Alg("F U' F'", 3));

  triggers[SLOT_I_BL].push_back(Alg("L U L'", 3 - RL_BOOST));
  triggers[SLOT_I_BL].push_back(Alg("L U2 L'", 3 - RL_BOOST));
  triggers[SLOT_I_BL].push_back(Alg("L U' L'", 3 - RL_BOOST));
  triggers[SLOT_I_BL].push_back(Alg("B' U' B", 3));
  triggers[SLOT_I_BL].push_back(Alg("B' U2 B", 3));
  triggers[SLOT_I_BL].push_back(Alg("B' U B", 3));

  triggers[SLOT_J_BR].push_back(Alg("R' U' R", 3 - RL_BOOST));
  triggers[SLOT_J_BR].push_back(Alg("R' U2 R", 3 - RL_BOOST));
  triggers[SLOT_J_BR].push_back(Alg("R' U R", 3 - RL_BOOST));
  triggers[SLOT_J_BR].push_back(Alg("B U B'", 3));
  triggers[SLOT_J_BR].push_back(Alg("B U2 B'", 3));
  triggers[SLOT_J_BR].push_back(Alg("B U' B'", 3));

  triggers[SLOT_K_FR].push_back(Alg("R U R'", 3 - RL_BOOST));
  triggers[SLOT_K_FR].push_back(Alg("R U2 R'", 3 - RL_BOOST));
  triggers[SLOT_K_FR].push_back(Alg("R U' R'", 3 - RL_BOOST));
  triggers[SLOT_K_FR].push_back(Alg("F' U' F", 3));
  triggers[SLOT_K_FR].push_back(Alg("F' U2 F", 3));
  triggers[SLOT_K_FR].push_back(Alg("F' U F", 3));
  triggers[SLOT_K_FR].push_back(Alg("R' F R F'", 4 - SLEDGE_BOOST));
  triggers[SLOT_K_FR].push_back(Alg("F R' F' R", 4 - SLEDGE_BOOST));
}