• Source
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4.  
    5. int ssXau (string a, string b)
    6. {
    7. while (1)
    8. {
    9. if (a.length()==b.length()) break;
    10. if (a.length()>b.length()) b='0'+b;
    11. else a='0'+a;
    12. }
    13. for (int i=0; i<a.length(); i++)
    14. {
    15. int soA=a[i]-'0';
    16. int soB=b[i]-'0';
    17. if (soA>soB) return 1;
    18. else if (soA<soB) return -1;
    19. }
    20. return 0;
    21. }
    22.  
    23. string chXau (string a)
    24. {
    25. int vt=-1;
    26. for (int i=0; i<a.length(); i++)
    27. {
    28. if (a[i]!='0')
    29. {
    30. vt=i;
    31. break;
    32. }
    33. }
    34. if (vt==-1) return "0";
    35. else
    36. {
    37. string b="";
    38. for (int i=vt; i<a.length(); i++)
    39. {
    40. b+=a[i];
    41. }
    42. return b;
    43. }
    44. } //chuan hoa xau->
    45.  
    46. int main ()
    47. {
    48. int N;
    49. int t=0;
    50. while (1)
    51. {
    52. cin>>N;
    53. if (N==0) break;
    54. t++;
    55. string Min="", Max="";
    56. string a;
    57. int kt=0;
    58. for (int i=1; i<=N; i++)
    59. {
    60. cin>>a;
    61. if (i==1)
    62. {
    63. Min=a;
    64. Max=a;
    65. }
    66. else
    67. {
    68. if (ssXau (a, Max)==1)
    69. {
    70. Max=a;
    71. kt=1;
    72. }
    73. if (ssXau (a, Min)==-1)
    74. {
    75. Min=a;
    76. kt=1;
    77. }
    78. }
    79. }
    80. if (kt==1) cout<<"Case "<<t<<": "<<chXau (Min)<<" "<<chXau(Max)<<endl;
    81. else cout<<"Case "<<t<<": "<<"There is a row of trees having equal height."<<endl;
    82.  
    83. }
    84. return 0;
    85. }