Commençons avec TopCoder en Python (version 2020)

Remarque: lorsque vous recherchez l'applet de TopCoder, vous verrez un lien vers une page Web appelée topcodr.co, mais sachez qu'il s'agit d'un nom de domaine différent de topcoder.com. S'il te plait donne moi. </ font> </ b>

introduction

TopCoder revient presque toujours lorsque vous regardez des livres et des articles de programmation de concours, mais il a une forte habitude de phrases système et de problèmes, et je pense que soumettre une question passée est un seuil élevé.

L'autre jour, j'ai participé une fois à SRM avec Python, je vais donc publier la méthode de fonctionnement de base et comment préparer l'environnement. Les points expliqués dans cet article sont les trois points suivants.

―― 1. N'utilisez jamais la version Web pour Arena. Accédez à Arena en utilisant la version Java. ―― 2. Accéder et soumettre les questions précédentes sur SRM ―― 3. Définissez "Editeur" dans Arena (la cupidité est utilisée dans cet article)

Accédez à Arena avec la version Java.

Si vous avez déjà un compte TopCoder, vous avez probablement accédé à un outil appelé Arena depuis "Communauté-> Compétition-> Programmation compétitive". Cependant, la version Web est lente et l'accessibilité aux questions passées est très faible. Au contraire, c'est inutile.

https://www.topcoder.com/community/competitive-programming/how-to-compete#The%20Applet%20Arena Préparez la version Java d'Arena en vous référant à. La procédure est la suivante.

-Installez Java JRE.

--Une fois le JRE installé, sous Windows, ouvrez le panneau de configuration «Configuration Java» et ajoutez «http: // www.topcoder.com» aux «Sites d'exception» de sécurité. Cela permet à l'applet téléchargé de s'exécuter.

  • Depuis la page précédente, accédez à Lien vers l'applet Java de TopCoder. Il est pratique de sauvegarder cette applet et de la placer sur votre bureau. (Je pense que l'applet peut être mise à jour, donc le lien peut être préférable)

  • Saisissez votre nom d'utilisateur et votre mot de passe TopCoder pour vous connecter.

Accéder aux numéros précédents et les soumettre

Dans TopCoder, il est nécessaire de créer une classe appropriée au lieu de saisir stdin comme AtCoder et Codeforces. Au début, cela semble difficile à attacher. Il n'y a aucun problème si vous vérifiez uniquement le flux ici et passez à l'étape suivante.

--Practice Room in Arena-> Sélectionnez le problème que vous voulez voir dans les SRM
Quelques heures avant le début du concours, vous ne pourrez temporairement pas accéder aux anciennes questions SRM. Essayons-le après la fin du concours. </ font> --SRM se compose essentiellement de 3 questions. Sélectionnez le problème auquel vous souhaitez accéder depuis Phase de codage.

  • Il y aura un problème, alors je vais le résoudre.
  • Après avoir écrit le code, exécutez-le dans l'ordre de Compile-> Batch Test-> Submit. (La compilation est également requise en Python) --Si vous soumettez et réussissez le test, l'écran suivant sera affiché et des points seront attribués. Mais ne vous arrêtez pas avec. C'est juste que la soumission est terminée, cela ne vérifie pas si chaque BatchTest a réussi, et contrairement à Codeforces, il n'effectue pas un pré-test légèrement plus fort.
  • Une fois, fermez cette fenêtre, passez à l'écran supérieur de SRM et sélectionnez Option pratique-> Exécuter le test du système.
  • Vérifiez le résultat. Dans l'exemple, deux tests système ont échoué. Vous pouvez vérifier l'entrée / la sortie en double-cliquant.

Super important: installez Python 2.7

La version Python de TopCoder est 2.7. Assurez-vous d'installer Python 2.7 avant de passer aux étapes suivantes. </ font> </ b>

Définir l'éditeur sur la cupidité

  • Accédez à la page Github Greed. C'est comme dans Quick Start, mais cela est expliqué ci-dessous.

--Téléchargez le fichier jar de 2.0RC à partir de Téléchargements sur cette page. Mettez-le dans un répertoire approprié.

--Sélectionnez ʻOptions-> Editor-> Add` sur la page d'accueil après vous être connecté à Arena. Entrez comme suit. (Pour ClassPath, cliquez sur Parcourir et sélectionnez le fichier jar téléchargé en 2.) (githubより転載)

--Vérifiez par défaut et au démarrage. Sélectionnez ensuite Configurer.

  • Ici, entrez le chemin complet du répertoire parent dans lequel le modèle en question sera créé.

  • Si vous accédez au problème dans un processus ultérieur, le répertoire de chaque SRM sera coupé dans ce répertoire comme indiqué dans la figure ci-dessous.

  • Dans cet état, ouvrez le problème SRM expliqué précédemment. Ensuite, l'éditeur de texte était affiché en bas de l'écran jusqu'à plus tôt, mais cela devient comme suit, et il n'est pas possible de saisir le code.

  • Dans cet état, si vous ouvrez le dossier spécifié par «No. 5», «Scissors.py» et «Scissors.html» seront créés (dans ce cas). Reportez-vous à ce code HTML comme une déclaration de problème sans regarder la description d'Arena. La liste est différente et vous pouvez copier et coller en même temps, ce qui est pratique lorsque vous mettez toute la phrase en traduction automatique.

  • Le py créé contient un test. Dans ce cas, codez la partie suivante de «return 0» pour répondre aux exigences.

class Scissors:
    def openingTime(self, N):
        return 0
(Ci-dessous le code généré automatiquement)
  • Exécuter avec Python 2.7 </ font> </ b>. PASS / FAIL s'affiche comme illustré ci-dessous. Corrigeons le code jusqu'à ce que tout soit PASS.
  Testcase #0 ... PASSED! (0.000 seconds)
  Testcase #1 ... FAILED! (0.000 seconds)
           Expected: 40
           Received: 20
  Testcase #2 ... FAILED! (0.000 seconds)
           Expected: 110
           Received: 20
Passed : 1 / 3 cases
  • Lorsque tout réussit, faites Compiler-> Batch Test-> Submit dans cet état (le code source est enregistré). Lorsque vous exécutez Compile, vous pouvez voir que le code source est obtenu en disant Obtenir le code source de SRM ~. (En interne, le code source jusqu'à # CUT begin est passé)

gl, hf!

Les autres informations

  • Article japonais pour changer le modèle: https://minus9d.hatenablog.com/entry/2019/05/01/222914

Recommended Posts