- #include <stdio.h>
- #include <stdlib.h>
- int *iSegments = NULL, iSolution[3];
- long int liCount, liIndex;
- int isTriangle(int a, int b, int c)
- {
- if(a + b > c && a + c > b && b + c > a) return 1;
- return 0;
- }
- int main()
- {
- freopen("bitcell.in", "r", stdin);
- freopen("bitcell.out", "w", stdout);
- int iValue, iSuma = 0;
- long int a, b, c;
- while(scanf("%d", &iValue) != EOF)
- {
- liCount++;
- iSegments = (int *) realloc(iSegments, liCount * sizeof(int));
- iSegments[liCount - 1] = iValue;
- }
- for(a = 0; a < liCount - 2; a++)
- for(b = a + 1; b < liCount - 1; b++)
- for(c = b + 1; c < liCount; c++)
- iSuma += isTriangle(iSegments[a], iSegments[b], iSegments[c]);
- printf("%d", iSuma);
- return 0;
- }
Poftim cod C.
Welcome to BitCell. Click here to register !
, este exact cum am facut si eu prima solutie, metoda "Brute Force", doar ca e alocat dinamic vectorul, ce e nasol la solutia asta e ca pe masura ce cresc numerele din fisierul de intrare sta "zeci de ani" sa calculeze, banuiesc ca nu e chiar implementarea din C++ de mai devreme pentru ca nu e nici un Backtracking, nu ca l-as intelege prea bine dar nu vad nimic de genul.