Torneo 1v1 Codeforces
Salve a tutti ragazzi sono lieto di annunciarvi la prima edizione del torneo 1v1 su codeforces.
In cosa consiste
È un torneo di competitive programming in cui i partecipanti si sfidano risolvendo problemi su codeforces. Il torneo è formato da una fase a gironi iniziale dove ogni membro del girone dovrà sfidare ogni altro membro dello stesso girone entro un determinato giorno.
Le sfide nella fase a gironi non hanno un giorno ed un orario preciso, i due sfidanti decidono insieme quando compiere la sfida. Riportata più avanti una data limite entro la quale devono essere completate tutte le sfide della fase a gironi.
Anche per le fasi successive (ad eliminazione diretta) sarà presente una scadenza, inoltre se possibile le semifinali e la finale verranno svolte in streaming.
Come funziona
Dopo la chiusura delle iscrizioni il torneo verrà simulato utilizzando challonge. Il numero di gironi, il numero di persone per girone ed il numero di persone che passa per ogni girone sarà stabilito alla fine delle iscrizioni. I partecipanti saranno divisi in fasce in base al rating su Codeforces ed i gironi saranno estratti casualmente evitando che partecipanti della stessa fascia finiscano nello stesso girone.
Le sfide tra due partecipanti verranno effettuate utilizzando Lockout bot.
Il bot permette di effettuare una sfida tra due partecipanti, in ogni sfida vengono proposti 5 problemi di difficoltà e valore crescente, la difficoltà degli esercizi e il tempo massimo per la sfida variano in base alla fase del torneo in cui ci si trova.
La sfida inizia con l’assegnazione di 5 problemi su Codeforces in ordine di difficoltà crescente. Il problemi valgono rispettivamente 100, 200, 300, 400 e 500 punti. Durante la sfida i partecipanti devono cercare di ottenere più punti possibili, tenendo in considerazione che ogni problema può essere risolto al più da uno dei 2 partecipanti, ossia il primo partecipante che risolve un problema ne ottiene il punteggio e impedisce all’avversario di poterlo risolvere.
La sfida finisce quando o finisce il tempo oppure uno dei 2 partecipanti supera il punteggio rimanente massimo che l’avversario può ottenere.
Una volta terminata ogni sfida entrambi i partecipanti dovranno comunicarmi su telegram (Fabio99) il risultato della sfida in modo che io possa aggiornare il torneo su challonge.
Il link al torneo su challonge sarà fornito al termine delle iscrizioni
Come mi iscrivo
Per iscriversi è necessario disporre di:
- Disporre di un account codeforces.
- Disporre di un account challonge.
- Disporre di un account discord.
- Disporre di un account telegram, tramite il quale avverranno le comunicazioni.
Per l’iscrizione è sufficiente inviare le proprie informazioni elencate precedentemente(link account Codeforces, username Discord, mail challonge) al seguente contatto Telegram: zJack1342.
Regole
Come detto in precedenza, per ogni fase ci sono delle date di scadenza entro la quale completare le sfide. Il numero di problemi in tutte le fasi e 5, la difficoltà ed la durata del tempo variano da fase a fase e vi viene comunicata da noi. La difficoltà dei problemi di codeforces è rappresentata da un numero nel range [800, 3500].
Il modo migliore e più semplice per effettuare una sfida è usare il contatto telegram del proprio avversario per trovare un accordo sul quando svolgere la sfida.
Una volta chiuse le registrazioni verrete invitati in un canale discord e verranno spiegati meglio i comandi per effettuare ogni sfida. Quando accetterete l’invito al canale provvederemo a collegare il vostro account discord al vostro profilo codeforces in modo che sia possibile effettuare le sfide.
Il girone verrà aggiornato dagli admin, la classifica del girone è ordinata in base al numero di vittorie, ed a parità di vittorie il numero di punti totali. In una sfida che termina con lo stesso punteggio il vincitore è colui che ha risolto il problema più difficile.
Comandi bot Discord
I comandi necessari per collegare il vostro username discord al profilo codeforces verranno eseguiti direttamente dagli admin.
Il canale avrà diverse chat, almeno una per ogni girone, in tutte le chat sarà attivo il bot, ognuno dovrà scrivere nella chat del proprio girone.
I comandi principali sono:
-
.help
:si ottengono informazioni sul bot. -
.help x
: si ottengono informazioni sul comando x. -
.match challenge_custom username_discord_avversario durata_in_minuti a b c d e
: si sfida l’utente indicato in una sfida del tempo indicato. Dove a, b, c, d, e sono rispettivamente le difficoltà del primo, secondo, terzo, quarto e quinto problema (a, b, c, d, e vi saranno comunicate dagli admin in base alla fase del girone). -
.match accept
: permette di accettare l’ultima sfida che ti è stata proposta. -
.match problems
: mostra i problemi ancora disponibili nella sfida(non risolti da nessuno dei 2 partecipanti). -
.match update
: aggiorna lo stato della partita (lo stato viene aggiornato automaticamente ogni 30s).
Nel caso in cui nessuno dei 2 partecipanti abbia mai usato il bot è sensato svolgere una gara di prova tra i due (anche con durata breve e problemi facili). Per fare ciò è consigliato il comando .match challenge username_discord_avversario 30 800
che propone una sfida di 30 minuti con problemi di difficoltà da 800 a 1200.
Possono essere svolte più gare di prova l’importante è che alla fine di ogni gara ufficiale entrambi i partecipanti comunichino il risultato (punteggi e problemi risolti) su telegram (Fabio99).
Schedule
- La fase di iscrizione è aperta da giovedì 16/07/2020 alle 00:00 fino a sabato 18/07/2020 alle 23:59.
- La fase dei gironi va invece da lunedì 20/07/2020 a venerdì 31/07/2020 alle 23:59.
- Le fasi successive e le scadenze verranno comunicate a gironi terminati.
Altre informazioni
Ai partecipanti sarà fornito un file in cui sono presente le informazioni di ogni partecipante, che può tornare utile per accordarsi sul quando svolgere la sfida.
Il torneo è aperto a tutti anche si richiede di non iscriversi se si è sicuri o quasi che non si riesca a partecipare.
Se non si hai mai utilizzato la piattaforma codeforces è vivamente consigliato provarla, magari iniziando a risolvere i problemi più semplici.