• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Testowanie na OI, OIJ

Object Storage Arubacloud
+1 głos
170 wizyt
pytanie zadane 2 grudnia 2022 w C i C++ przez pasjonat_algorytmiki Pasjonat (19,540 p.)

Cześć,

Czy taki kod napisany do testowania w bashu na 2 etapy OI, OIJ jest dobrze napisany? Czy da się to jakoś łatwiej / w c++ ? 

#!/bin/bash

g++ -O3 -static wzor.cpp -std=c++17 -o wzor
g++ -O3 -static brut.cpp -std=c++17 -o brut

N=100

for ((i=1; i>0; i++))
do
	n=$((1 + $RANDOM % $N))
	m=$((1 + $RANDOM % $n))
	k=$((1 + $RANDOM % $N))
	echo $n $m $k > poc$i.in

	l=""
	for ((j=0; j<$n; j++))
	do
		l+="$((1 + $RANDOM % $k)) "
	done
	echo $l >> poc$i.in

        l=""
        for ((j=0; j<$m; j++))
        do
                l+="$((1 + $RANDOM % $k)) "
        done
        echo $l >> poc$i.in

	./brut < poc$i.in > brut$i.out
	./wzor < poc$i.in > wzor$i.out

	if diff -b brut$i.out wzor$i.out > /dev/null
	then
		rm poc$i.in
		rm wzor$i.out
		rm brut$i.out
		echo $i OK
	else
		echo %i NOK
		break
	fi 

done

Jeśli da się jakoś łatwiej w c++ to super, jak nie to można to lepiej napisać? Żeby szybko mozna było podczas zawodów pisać.

To jest testerka do zadania Pociąg Towarowy z tegorocznego 1 etapu OI, gdzie trzeba było wygenerować liczbę n oraz m i potem n liczb oraz m liczb.

Z góry dziękuję za czas i pomoc!

1 odpowiedź

+3 głosów
odpowiedź 2 grudnia 2022 przez Whistleroosh Maniak (56,980 p.)

Pisanie generatorki testów w bashu dla zadań o bardziej skomplikowanym wejsciu to bedzie koszmar. Ja zawsze pisałem je w c++. Jak masz już generatorke to w bashu wystarczy w pętli robić:

./generatorka > input.in 
./brut < input.in > brut.out 
./wzor < input.in > wzor.out

i porównać .out

Ewentualnie możesz w pythonie, bo pewnie szybciej będzie dało się napisać w nim taką generatorke niż w c++.

Podobne pytania

0 głosów
1 odpowiedź 189 wizyt
0 głosów
1 odpowiedź 112 wizyt
pytanie zadane 16 czerwca 2023 w Algorytmy przez nerfiko Nowicjusz (170 p.)
0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 24 kwietnia 2023 w Algorytmy przez pasjonat_algorytmiki Pasjonat (19,540 p.)

92,568 zapytań

141,420 odpowiedzi

319,618 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...