All pastes #546623 Raw Edit

Mine

public cpp v1 · immutable
·published 2007-06-07 03:35 UTC
rendered paste body
/* Cho 2 so nguyen L và N. Hay liet ke cac xau nhi phan do dài n có tính chát, bat kì 2 xâu con nào do dài K lien nhay deu khac nhau */#include <iostream>#include <iomanip>int A[100];int LENGTH, SUB_LEN;int index;void PRINT(){        index++;        cout << " The index " << index << "-->";        for ( int x = 0; x < LENGTH; x++ )  cout << A[x];        cout << endl;  }bool CHECK(){                int running_variable;                int TEMP = SUB_LEN;                int X = 0;                                /*--------------------------START---------------------------------------*/                do                 {                        running_variable = X;                        do                         {                                int repeat_times = 0;                                int Y = 0;                                                                 for ( int i = running_variable; i < TEMP; i++)                                {                                                                        if ( A[i] == A[Y+TEMP] )                                        {                                                repeat_times++;                                                Y++;                                        }                                        else  break; /*Thoat khoi for neu có dã có bat kì 1 phan tu thuoc day truoc                                                       khac day sau thì ko càn xet tiep nua */                                  }                                                        /* Thoát han~ ra khoi hàm ngay lap túc, dãy da ko thoa dk */                                if ( repeat_times == SUB_LEN ) return false;                                                                             running_variable = running_variable + SUB_LEN;                                TEMP = TEMP + SUB_LEN;                                        } while ( running_variable < LENGTH - 2*SUB_LEN ); /*Ch&#7895; ni hay n&#7919;a nè */                                                                    X++; /* Lùi vào trong -> xét 1 dãy con moi */                        TEMP = SUB_LEN + X; /* Do dài chuoi con thay doi theo X */                        } while ( X < LENGTH/SUB_LEN ); /*ch&#7895; ni hay nè */                                /*--------------------------END-----------------------------------------*/}                void BACKTRACK ( int i ){        for ( int j = 0; j <= 1; j++ )        {                A[i] = j;                if ( i == LENGTH - 1 )                {                                if ( CHECK() != false )                                PRINT();                }                else                 {                                BACKTRACK ( i + 1 );                }        }}void main(){        index = 0;        cout << "Enter a number : "; cin >> LENGTH;        cout << "Enter a length : "; cin >> SUB_LEN;        for ( int x = 0; x < LENGTH; x++ ) A[x] = 0;                BACKTRACK (0);                cin >> index; }