redviper's blog

By redviper, history, 8 years ago, In English

A good news for all the Pythonistas. It has been announced that Python will be among the list of available languages at ACM ICPC world finals — 2017.

Python at ICPC

  • Vote: I like it
  • +112
  • Vote: I do not like it

| Write comment?
»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I am really excited with this news. My upvote for WF Judges and managers.

How are they going to manage the real limitations of python for competitive programming? I imagine there will be an AC solution for every problem in every language (even in python :)

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    Actually no. They explicitly stated that solutions are guaranteed to exists in C++ and Java, there is no such guarantee for Python

»
8 years ago, # |
  Vote: I like it +35 Vote: I do not like it

I'm wondering whether TL will depend on the language, or it'll not be ensured that every problems can be solved by Python. I think Python works too slow.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    I would say for I/O operations definitely. (one should use sys.stdin/sys.stdout rather than print()/input())

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    pypy implementation is about 7 times faster: http://speed.pypy.org/

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Apparently, the TL will be the same for all languages and the participant must decide what language to use for a particular problem :/

»
8 years ago, # |
  Vote: I like it +6 Vote: I do not like it

Excellent! But what about NEERC?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I am wondering the same for my region, Is it decision of each one?

»
8 years ago, # |
  Vote: I like it +23 Vote: I do not like it

What's the point of using a super inefficient language when algorithmic programming contest are all about performance?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +91 Vote: I do not like it

    Don't hate Java.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +90 Vote: I do not like it

      I don't hate it, I understand people make mistakes.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    I think main objective of this decision is based in the large amount of children using this language as their primary language in the school. Probably this way will increase their interest for this kind of competition.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +12 Vote: I do not like it

      How many schoolchildren who take their first steps into programming compete at ICPC WF?

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +4 Vote: I do not like it

        They hope a lot of them.

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +40 Vote: I do not like it

        Zero, but the languages available at the finals affect the languages available at all regional and subregional contests to a certain degree. It might happen that allowing python at these earlier stages of the competition will increase participation (and some of the participants will switch to other languages once they get more serious about the contest), no?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +40 Vote: I do not like it

    I don't know about their consideration, but sometimes there are problems that can be solved in likely 10 ~ 30 lines of Python, and can still pass all testcases even it is 50~100x slower than properly implemented C++ ones.

    For these challenges writing "dirty inefficient but slightly easier to code" C++ solutions made me sick, not to mention OhGodICannotEvenReturnEarlierHowToEfficientlySolveProblemD.java.

    And if this decision spreads, this can discourage problem setters of regional contest from making "can you implement a quick and dirty json.loads in C++" style problems (which are boring).

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +13 Vote: I do not like it

    We sometimes use Python on contests because it has bignums. Problems like "A+B on bignums" really show up sometimes. And even if it is not as simple as A+B it can prove to be useful (like E from CERC 2016). Sometimes model solution doesn't use bignums, but there is an alternative solution (sometimes even simpler) that use them.

»
8 years ago, # |
Rev. 3   Vote: I like it +24 Vote: I do not like it

Some clarifications from today's coaches' meeting:

  • Time limits depend on the task, not the language.
  • All problems are solvable in C++ and Java, there is no such guarantee for Python.