Codifica con Espárragos: Salvando Manzanas de Tartas

Solución eficiente de Apple Escape en Go con un algoritmo de eventos from/to que respeta la capacidad del tren; incluye ejemplos y cómo Q2BSTUDIO convierte ideas en software.

27 sept 2025 • 3 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Codifica con Espárragos: Salvando Manzanas de Tartas

Hola, soy Espárragos, un espárrago que programa en Go. En este artículo explico de forma clara y práctica cómo resolver el problema Apple Escape traducido y adaptado al español, y además te cuento cómo en Q2BSTUDIO podemos ayudarte a convertir ideas en software robusto.

Planteamiento del problema

La temporada de tartas de manzana ha empezado y las manzanas quieren escapar de acabar en un relleno. Hay un tren que solo va en una dirección y tiene un número limitado de asientos. Las manzanas viajan en grupos; cada grupo quiere subir en un punto from y bajar en un punto to con un tamaño num. Dado el listado de viajes trips y la capacidad capacity del tren, hay que decidir si el tren puede llevar a todas las manzanas sin superar la capacidad en ningún momento.

Ejemplo 1

Input: trips = {{from: 2, to: 7, num: 1}, {from: 0, to: 2, num: 3}, {from: 1, to: 3, num: 2}}, capacity = 5

Salida: true. En el punto 0 suben 3 manzanas, en el punto 1 suben 2 más (total 5), en el punto 2 bajan 3 y sube 1 (total 3), en el punto 3 bajan 2 y queda 1 hasta el punto 7. Nunca se supera la capacidad.

Ejemplo 2

Input: trips = {{from: 0, to: 2, num: 3}, {from: 1, to: 3, num: 2}}, capacity = 4

Salida: false. En el punto 1 sería necesario tener 5 asientos, pero la capacidad es 4.

Solución propuesta

La idea es procesar eventos ordenados en la línea temporal del tren. Cada viaje genera dos eventos: un pick up en from y un drop off en to. Construimos una lista de eventos con campos location, num y isFrom. Ordenamos por location ascendente y cuando dos eventos coinciden en la misma ubicación aplicamos primero los drop offs y luego los pick ups para permitir reutilizar inmediatamente los asientos liberados. Recorremos la lista acumulando el número actual de manzanas en el tren; si en cualquier pick up el total excede capacity devolvemos false, en caso contrario true al terminar.

Resumen en pseudocódigo

Crear events vacíos; para cada trip añadir Event{location: from, num: num, isFrom: true} y Event{location: to, num: num, isFrom: false}; ordenar events por location y con drop offs antes de pick ups cuando coinciden; numActual = 0; para cada event en events si event.isFrom es false entonces numActual -= event.num else si capacity - numActual < event.num entonces devolver false else numActual += event.num; devolver true.

Breve muestra de la firma en Go

type Trip struct { from int to int num int } type Event struct { location int num int isFrom bool } func canSaveAllApples(trips []Trip, capacity int) bool { ... }

Puedes implementar o adaptar este patrón para muchos problemas de disponibilidad de recursos en intervalos, y es muy eficiente en tiempo y memoria.

Sobre Q2BSTUDIO y cómo podemos ayudarte

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, inteligencia de negocio y automatización de procesos. Diseñamos soluciones empresariales escalables, desde aplicaciones móviles y web hasta sistemas con agentes IA y proyectos de power bi para análisis y reporting. Si necesitas una solución personalizada visita desarrollo de aplicaciones y software a medida y para proyectos de inteligencia artificial y servicios IA para empresas puedes consultar nuestros servicios de inteligencia artificial.

Si te interesa optimizar procesos, proteger tus activos digitales con ciberseguridad o aprovechar la nube con AWS y Azure, en Q2BSTUDIO tenemos equipos expertos que te acompañan desde la idea hasta la entrega y operación. Incorporamos técnicas de inteligencia de negocio, agentes IA y soluciones de Power BI para que tus decisiones estén basadas en datos reales.

Si quieres ver el código completo con tests revisa nuestro repositorio en GitHub o contáctanos para que trabajemos juntos en una prueba de concepto. Espero que esta explicación te haya resultado útil y que ahora puedas implementar la solución para salvar a todas las manzanas.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat