CCC '11 S1 - English or French?

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 256M

Problem type
Canadian Computing Competition: 2011 Stage 1, Senior #1

You would like to do some experiments in natural language processing. Natural language processing (NLP) involves using machines to recognize human languages.

Your first idea is to write a program that can distinguish English text from French text.

After some analysis, you have concluded that a very reasonable way of distinguishing these two languages is to compare the occurrences of the letters t and T to the occurrences of the letters s and S. Specifically:

  • if the given text has more t and T characters than s and S characters, we will say that it is (probably) English text;
  • if the given text has more s and S characters than t and T characters, we will say that it is (probably) French text;
  • if the number of t and T characters is the same as the number of s and S characters, we will say that it is (probably) French text.

Input Specification

The input will contain the number N (0 < N < 10\,000) followed by N lines of text, where each line has at least one character and no more than 100 characters.

Output Specification

Your output will be one line. This line will either consist of the word English (indicating the text is probably English) or French (indicating the text is probably French).

Sample Input 1

3
The red cat sat on the mat.
Why are you so sad cat?
Don't ask that.

Output for Sample Input 1

English

Sample Input 2

3
Lorsque j'avais six ans j'ai vu, une fois,
une magnifique image,
dans un livre

Output for Sample Input 2

French

(Note: Sample Input 2 is the first sentence of Le Petit Prince by Antoine de Saint-Exupéry.)

Sample Input 3

4
Si je discernais ta voix encore
Connaissant ce coeur qui doute,
Tu me dirais de tirer un trait
Quoi que partir me coute.

Output for Sample Input 3

English

(Note: Sample Input 3 is added by DMOJ from Le Fantôme de l'Opéra.)


Comments


  • 0
    Satish_iyer  commented on Nov. 22, 2024, 2:51 p.m.

    Can you check whats wrong with my submission, this works in vscode but here its full of error


    • 0
      dchoo333  commented on Nov. 23, 2024, 1:31 a.m.

      First take n as int(input()), then take each line of input, say x, for _ in range of n. Then instead of n[i], you should put x[i].


  • 0
    pycode  commented on Oct. 18, 2024, 9:15 a.m. edited

    Guys what’s wrong with my code:


    • 0
      webstormcam  commented on Nov. 11, 2024, 10:08 p.m.

      Hi Pycode, I recently completed this problem and took a look at your code and was able to fix it and make it work.

      I don't want to solve the problem for you but I can give you a couple hints to fix your code.

      On your latest submission:

      Review line 6, when I run your code it errors out. I think you accidentally put in some parentheses that should be removed.

      Lines 7 and Lines 9 are missing == on one side, can you see where its missing?

      You could also simplify your final IF Elif Else to just an If and Else.


    • 0
      pycode  commented on Oct. 18, 2024, 9:16 a.m.

  • 0
    Salt_Quarter8088  commented on July 22, 2024, 11:46 p.m.

    Can someone help me with my submission. https://dmoj.ca/submission/6507888

    I failed the last test case.


    • 0
      Coriandererr  commented on July 27, 2024, 6:55 a.m.

      Hello! I see you got it to work, but I was very confused about one detail-- it seems your successful submission takes #s == #t and outputs as English, when the problem specifies that it should output as French in that instance. I think you found a way to trick the judgement! I'm very new at this (just getting this far in the Zingaro book) but I believe your code only accepts two lines of input, and won't process any additional lines? E.g. in Sample Input 1, the code only reads through "The red cat sat on the mat." And determines French or English based solely on that one line.


  • 14
    anonymous69  commented on June 18, 2024, 1:18 p.m.

    english or spanish


    • 0
      rfasta  commented on July 3, 2024, 11:54 a.m. edited

      both


    • 4
      htoshiro  commented on June 20, 2024, 11:08 a.m.

      who ever moves first is g-


      • 0
        Jules830  commented on Dec. 18, 2024, 6:52 p.m.

        *stops breathing and blinking for the rest of my coding class


  • 3
    AlexOldest  commented on May 17, 2024, 9:10 a.m. edited

    So, if your input is: '1 English' then the output must be: 'French'


  • 0
    Ruard000000000000  commented on March 31, 2024, 9:30 a.m.

    It's really sad that if the check of your code is good, depends on whether you first check French instead of English.


  • -2
    raja_aadesh  commented on March 5, 2024, 4:41 a.m. edit 3

    hi, this is my code below but only 7 cases work, may i know what's wrong with my code?

    https://dmoj.ca/submission/6266541


    • 0
      Viv_CCGS  commented on March 5, 2024, 5:28 a.m.

      You only take input for the first line, as the text variable only inputs over one line. Try using the test cases first before asking for help. So when you input the text, you only get the first line.


  • 0
    peterfat11  commented on Feb. 20, 2024, 2:24 a.m. edited

    Could anyone take a look at my submission? It passed all of my local tests and matches the required output exactly. The funny thing is, when I remove the part of the code which prints English for when numbers of S and T are equal it passes.

    Edit: NVM I am blind and thought it said English (It was French)