Usernames, cosa dimentico?

Per estrapolare il charset dagli username uso un vettore di long long che memorizza i caratteri usati. Per esempio, parola[i] & (1<<2) mi dice se ho impostato una ‘c’ oppure no nella parola U[i]. In seguito faccio una ricerca quadratica (precisamente N * (N-1) / 2), facendo un and bitwise per estrarre i bit in comune. Se un charset è un sottoinsieme di un altro charset, allora l’and di tale risultato sarà uguale al sottoinsieme.

http://paste.ubuntu.com/23653972/

Tuttavia, ottengo ben 6 errori, 3 rispettivamente nei subtask 3 e 5. Dove sbaglio?

if(isalpha(U[i][j]))
            parole[i] |= (1ll << (U[i][j] - 'a'));
        else
            parole[i] |= (1ll << (25 + U[i][j] - '0'));

Così facendo allo 0 e alla z assegni lo stesso valore di 25, prova a cambiare 25 con 26.

1 Mi Piace

E pensare che prima avevo messo 26 e poi ho abbassato a 25. Hai ragione, ho ottenuto 100/100. Mi sento un verme. Merci.

Pas de quoi

1 Mi Piace