Lors de la résolution du problème AtCoder et de la vérification du fonctionnement avec un test utilisant des échantillons d'entrée / sortie Copier à la main et vérifier la sortie ... Cela prend beaucoup de temps à répéter. En particulier, cela affecte le temps de réponse correct pour les questions de 100 à 200 points.
Pour réduire cela, nous avons créé un outil qui teste automatiquement en donnant un ensemble de données d'entrée / sortie.
https://github.com/mui-nyan/atcoder_testtool
.bashrc
etc., ou ajoutez ʻatcoder_testtool` à PATH.actest_python() {
bash ~/Documents/dev/atcoder_testtool/actest_python.sh $1 $2
}
Créez un fichier de données dans le même répertoire que le fichier source que vous souhaitez tester. Ici, le nom du fichier est ʻinput. Le format du fichier de données est le suivant: ʻinput --- output ===
est répété.
Entrée 1
---
Sortie 1
===
Entrée 2
---
Sortie 2
===
(===
est requis après la dernière sortie)
Si vous exécutez ʻactest_python` et donnez le nom du fichier source et le fichier de données comme arguments, il sera testé dans l'ordre.
$ actest_python B.py input
AC 91ms Expect: 2 Actual: 2
AC 92ms Expect: 0 Actual: 0
AC 91ms Expect: 5 Actual: 5
Ceci est un exemple d'affichage lorsque la réponse est incorrecte ou que le délai est dépassé. Le délai est fixé à 2 secondes.
$ actest_python B.py input
WA 96ms Expect: 2 Actual: 3
TLE 2192ms Expect: 0 Actual: 0
AC 91ms Expect: 5 Actual: 5
Le test est facile, mais la création d'un fichier de données est un problème, donc J'ai également créé un outil pour aider à créer un fichier de données.
Il est également inclus dans le GitHub ci-dessus, mais c'est tout.
javascript: (function(){ let ans = ""; let i=0; while($(`.lang-ja #pre-sample${i}`).length > 0) { const input = $(`#pre-sample${i}`).html().trim(); const expect = $(`#pre-sample${i+1}`).html().trim(); ans += input + "\n---\n" + expect + "\n===\n"; i += 2; } console.log(ans); navigator.clipboard.writeText(ans); })();
Enregistrez-le dans un signet ...
Exécutez sur la page de questions ...
Une fois collé,
Vous pouvez créer un fichier de données!
heureux!
Recommended Posts