bool Recursive(string s, string p, int i, int j){ // cout << i << " "<<j << endl; if (i == s.size() && j == p.size())return true; else if ((i == s.size() && p[j] != '*')|| j == p.size())return false; if (s[i] == p[j] || p[j] == '?')return Recursive(s, p, i + 1, j + 1); else if(p[j] == '*'){ if (i < s.size() && Recursive(s, p, i + 1, j))return true; while (j < p.size() && p[j] == '*')j++; return Recursive(s, p, i, j); } else return false; }
int Recursive(int *memoization, int n){ if (memoization[n] != -1){ return memoization[n]; } if (n == 0 || n == 1){ memoization[n] = n; return n; } memoization[n] = Recursive(memoization, n - 1) + Recursive(memoization, n - 2); return memoization[n]; }
void Recursive(const uint8_t *Data, size_t Size, int Depth) { if (Depth > 1000) abort(); if (!Size) return; if (*Data == ('A' + Depth % 10)) Recursive(Data + 1, Size - 1, Depth + 1); Sink++; }
void Recursive(int num) { if(num <= 0) return; printf("Recursive call! %d \n", num); Recursive(num - 1); }
// Euclid's Algorithm for Greatest Common Divisor (Recursive) // Please see reference in lab report (this is the one I used for recursive) long GCD::Recursive( long m, long n ) { if(( m % n ) == 0 ) return n; else return Recursive( n, m % n ); }
int _tmain(int argc, _TCHAR* argv[]) { int n; scanf_s("%d", &n); printf_s("%d\n", Recursive(n)); getchar(); return 0; }
void Recursive(int num) { if (num == 5) { int duration_us = rand() % 8000000; printf("going to sleep for %d us\n", duration_us); usleep(duration_us); return; } Recursive(num + 1); }
int _tmain(int argc, _TCHAR* argv[]) { int n; //scanf_s("%d", &n); n = 6; int * memoization = new int[ 100 ]; memset(memoization, -1, sizeof(int) * 100); printf_s("%d\n", Recursive(memoization, n)); delete[] memoization; getchar(); return 0; }
void __fastcall TFrmDemand::ButtonrefreshClick(TObject *Sender) { ADOQuery_insert->SQL->Text = (AnsiString)"select * from Demand where project_id=1 order by id_dem"; ADOQuery_insert->Open(); TADOQuery * ado = new TADOQuery(NULL); ado->Connection = ADOConnection1; ado->SQL->Text = (AnsiString)"select * from Demand where project_id=1 order by id_dem"; ado->Open(); //TTreeNode* node = TreeView_doc_Struct->Items->AddObject(NULL, this->node_Name->Text, (void*)reqinfo); //node->Selected = true; for(ADOQuery_insert->First();!ADOQuery_insert->Eof;ADOQuery_insert->Next()) { if(ADOQuery_insert->FieldByName("id_par")->Value.IsNull())//==0 { Demand *reqinfo = new Demand; //записываем данные из бд в структуры reqinfo->name_dem = ADOQuery_insert->FieldByName("name_dem")->AsAnsiString.c_str(); reqinfo->text_dem = ADOQuery_insert->FieldByName("text_dem")->AsAnsiString.c_str(); reqinfo->type_dem = ADOQuery_insert->FieldByName("type_dem")->AsAnsiString.c_str(); reqinfo->num_dem = ADOQuery_insert->FieldByName("num_dem")->AsAnsiString.c_str(); reqinfo->code_dem = ADOQuery_insert->FieldByName("code_dem")->AsAnsiString.c_str(); reqinfo->id_dem = ADOQuery_insert->FieldByName("id_dem")->Value; top_level.push_back(reqinfo); Recursive(reqinfo, ado); } /*reqinfo->name_dem = string(AnsiString(this->node_Name->Text).c_str()); reqinfo->num_par = string(AnsiString("0").c_str()); this->TreeView_doc_Struct->Items->Add(ADOQuery_insert->FieldValues["project_name"]); */ } for(int i = 0;i<top_level.size();i++) { TTreeNode* node = TreeView_doc_Struct->Items->AddObject(NULL, top_level[i]->name_dem.c_str(), (void*)(top_level[i])); RecursiveFChilds(top_level[i], node); } }
int main(int argc, char* argv[]) { long n, i, j, r; if (argc != 2) { fprintf(stderr, "usage: %s <n>\n", argv[0]); exit(0); } n = strtol(argv[1], NULL, 10); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { r = Recursive(i, j); printf("%6ld ", r); } printf("\n"); } return 0; } /* main */
void Recursive(Demand* parent, TADOQuery* sql) { sql->First(); while(!sql->Eof) { if(parent->id_dem == sql->FieldByName("id_par")->Value) { Demand *reqinfo = new Demand; reqinfo->name_dem = sql->FieldByName("name_dem")->AsAnsiString.c_str(); reqinfo->text_dem = sql->FieldByName("text_dem")->AsAnsiString.c_str(); reqinfo->type_dem = sql->FieldByName("type_dem")->AsAnsiString.c_str(); reqinfo->num_dem = sql->FieldByName("num_dem")->AsAnsiString.c_str(); reqinfo->code_dem = sql->FieldByName("code_dem")->AsAnsiString.c_str(); reqinfo->id_dem = sql->FieldByName("id_dem")->Value; parent->childs.push_back(reqinfo); Recursive(reqinfo,sql); } sql->Next(); } }
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { Recursive(Data, Size, 0); return 0; }
bool isMatch(string s, string p) { return Recursive(s, p, 0, 0); }
int main() { srand(time(NULL)); for (;;) Recursive(0); }
void InvaderDetectOperation::operate( const std::vector<ImageBufferPtr>& inputList, const std::vector<double>&, ImageBufferPtr output ) { assert(inputList.size() == 2); min.clear(); max.clear(); CpuImage input = readBuffer(inputList[0]); Matrix<int> clusters( input.height(), input.width() ); for(unsigned int y = 0; y < input.height(); y++) for(unsigned int x = 0; x < input.width(); x++) { clusters(y,x) = -1; } int lastCluster = 0; for(unsigned int y = 0; y < input.height(); y++ ) for(unsigned int x = 0; x < input.width(); x++ ) { if( clusters(y,x).get() != -1 ) continue; if( ! input(y,x).get().r ){ clusters(y,x) = 0; continue; } clusters(y,x) = ++lastCluster; std::queue<Recursive> recurse; recurse.push(Recursive(y,x)); while( !recurse.empty() ) { Recursive recursive = recurse.front(); recurse.pop(); int ry = recursive.ry; int rx = recursive.rx; for( int line = -1; line <= 1; line++){ for( int column = -1; column <= 1; column++){ if ( clusters(ry,rx).neighbour(line,column).get() == -1 && input(ry,rx).neighbour(line,column).get().r != 0 ){ clusters(ry, rx).neighbour(line, column) = lastCluster; recurse.push( Recursive(ry+line, rx+column) ); } } } }; } CpuImage backImage = readBuffer(inputList[1]); for( unsigned int y = 0; y < input.height(); y++) for( unsigned int x = 0; x < input.width(); x++) { maximize( backImage(y,x) , clusters(y,x).get() ); minimize( backImage(y,x) , clusters(y,x).get() ); } { auto minI = min.begin(); auto maxI = max.begin(); for( ; minI != min.end(); ++minI,++maxI) { if( minI->first == 0 ) continue; int clusterWidth = maxI->second.first-minI->second.first; int clusterHeight = maxI->second.second-minI->second.second; int area = clusterHeight*clusterWidth; if( area < 500 ) continue; double ratio = double(clusterHeight)/double(clusterWidth); // std::cout << minI->first << ": (" << clusterWidth << "," << clusterHeight << "), ratio:" << ratio; // std::cout << ", area:" << area << std::endl; int color = ratio > 1.2 ? 3 : 2; Point line = minI->second; for( ; line.second <= maxI->second.second; ++line.second) { colorize( backImage(line.second,line.first), color ); } for( ; line.first <= maxI->second.first; ++line.first) { colorize( backImage(line.second,line.first), color ); } for( ; line.second >= minI->second.second; --line.second) { colorize( backImage(line.second,line.first), color ); } for( ; line.first >= minI->second.first; --line.first) { colorize( backImage(line.second,line.first), color ); } } } writeBuffer(backImage,output); }
int main () { Recursive (); /* count(1) */ return 0; }
int Recursive(int n){ if (n == 0 || n == 1){ return n; } return Recursive(n - 1) + Recursive(n - 2); }
int main(void) { Recursive(3); return 0; }