¡Bienvenido!

Al registrarte con nosotros, podrás discutir, compartir y enviar mensajes privados con otros miembros de nuestra comunidad.

¡Regístrate ahora!

Foros Cuba

w1re
w1re's iconw1re
Rendirse? Qué es eso? Bastó con un poco de bitwise.
w1re
w1re's iconw1re
La segunda parte estuvo igual de fácil. XD
El que haya usado un array, mejor que se rinda.
moist
moist
Bastó con un poco de bitwise.
Postea codigo.

En el segundo no me complique.
def p2(lines): """ A int B int C = badge """ ln_map = map(lambda l: set(l), lines) i = next(ln_map) for line in ln_map: i = i.intersection(line) c = i.pop() return _upper(c) if c.isupper() else _lower(c)
w1re
w1re's iconw1re
No cabe completo ni quitándole el indent. Dividirlo en dos.
C-like:
inline fn item_index(c: u8) u6
{
    return @intCast(u6, if (c >= 'a') c - 'a' else c - ('A' - 26));
}
fn parse_items(line: []const u8) u52
{
    var res: u52 = 0;
    for (line) |c|
        res |= @as(u52, 1) << item_index(c);
    return res;
}
w1re
w1re's iconw1re
C-like:
fn parse_group(reader: io.StreamSource.Reader) !?u6
{
var buf: [util.LINE_MAX]u8 = undefined;
if (try reader.readUntilDelimiterOrEof(&buf, '\n')) |l| {
var items = parse_items(l);
var line = try reader.readUntilDelimiter(&buf, '\n');
items &= parse_items(line);
line = try reader.readUntilDelimiter(&buf, '\n');
items &= parse_items(line);
return @ctz(items)+1;
}
return null;
}
moist
moist
lo hubieras subido a pastebin
  • Wow
Reacciones: w1re
w1re
w1re's iconw1re
Cuando termine el evento, pongo un repositorio en GitHub con todo el código.
Atrás