• Source
    1. #include <iostream>
    2. #include <math.h>
    3. using namespace std;
    4.  
    5. struct data
    6. {
    7. float w;
    8. float c;
    9. } typedef data;
    10.  
    11. int main ()
    12. {
    13. int t;
    14. cin>>t;
    15. for (int k=1; k<=t; k++)
    16. {
    17. int n;
    18. cin>>n;
    19. data arr[202];
    20. for (int i=1; i<=n; i++)
    21. {
    22. cin>>arr[i].w>>arr[i].c;
    23. }
    24. //Khoitao:
    25. int l[202];
    26. for (int i=1; i<=200; i++)
    27. {
    28. l[i]=0;
    29. }
    30. //Quy Hoach:
    31. int lenMax=1;
    32. for (int i=1; i<=n; i++)
    33. {
    34. int Ans=0;
    35. data tmp = arr[i];
    36. for (int j=1; j<=i-1; j++)
    37. {
    38. if (tmp.w>arr[j].w && tmp.c<arr[j].c)
    39. {
    40. Ans=max (Ans, l[j]);
    41. }
    42. }
    43. l[i]=Ans+1;
    44. lenMax=max (lenMax, l[i]);
    45. }
    46. cout<<lenMax<<endl;
    47. }
    48. return 0;
    49. }