Por favor necesito que algyin programe esto plis
Jorge (o como le dicen sus amigos “ el Yorch”) es un estudiante de secundaria en Bolivia que participa en diferentes ramas de las olimpiadas científicas estudiantiles, razón por la cual no destaca en ninguna.
De todas formas logra clasificar a las instancias nacionales y se la pasa todo el año viajando de ciudad en ciudad para cumplir con la agenda de dichas olimpiadas.
La mamá de Yorch (que está de viaje por trabajo), se encuentra preocupada porque su hijo no le contesta el celular y no sabe si, de acuerdo al itinerario que Yorch le dio,continúa de viaje ó ya está en su casa.
El itinerario tiene información sobre los aeropuertos de salida y llegada.
Ahora la mamá de Yorch sabe que:
Esta lista contiene todos los vuelos de yorch en este año (en orden arbitrario),
Yorch vuela desde su ciudad natal hasta la ciudad donde se realizan las olimpiadas y de regreso.
Después de cada olimpiada Yorch vuela directo a casa (aunque pueden asistir a una olimpiada en un lugar varias veces)
A principios de año Yorch estaba en casa.
¡Ayuda a la mamá de Yorch a determinar su ubicación!
Entrada
En la primera línea de entrada hay un número entero n que es el número de vuelos de Yorch (1 ≤ n ≤ 100). En la segunda línea hay una cadena de 3 letras mayúsculas: el nombre del aeropuerto de origen de Yorch. En las siguientes n líneas hay información de vuelo, un vuelo por línea, en forma "XXX->YYY", donde "XXX" es el nombre del aeropuerto de salida "YYY" es el nombre del aeropuerto de llegada. Exactamente uno de estos aeropuertos es el aeropuerto de origen de Yorch.
Se garantiza que la información de los vuelos es coherente con el conocimiento de la mamá de Yorch.
Salida
Si Yorch está ahora en casa, imprima "home" (sin comillas), de lo contrario imprima "contest"(sin comillas).
Ejemplo Entrada
4
LPZ
LPZ->SCZ
CBB->LPZ
LPZ->CBB
SCZ->LPZ
Ejemplo Salida
home
Respuestas
Respuesta:
#include<iostream>
#include<string>
using namespace std;
struct Nodo{
string dato;
Nodo *siguiente;
};
void insertarLista(Nodo *&,string);
void contarLlegada(Nodo *, string);
int main(){
Nodo *lista = NULL;
string inicio, dato;
int n;
cin>>n;
if(n<1 || n>100){
return 0;
}
cin>>inicio;
if(inicio.length()!=3){
return 0;
}
for (int i = 0; i<n; i++) {
cin>>dato;
if(dato.length()!=8){
return 0;
}
insertarLista(lista, dato.substr(0, 2));
insertarLista(lista, dato.substr(5, 7));
}
contarLlegada(lista, inicio);
return 0;
}
void insertarLista(Nodo *&lista,string n){
Nodo *nuevo_nodo = new Nodo();
Nodo *aux;
nuevo_nodo->dato = n;
nuevo_nodo->siguiente = NULL;
if(lista == NULL){
lista = nuevo_nodo;
}
else{
aux = lista;
while(aux->siguiente != NULL){
aux = aux->siguiente;
}
aux->siguiente = nuevo_nodo;
}
}
void contarLlegada(Nodo *lista, string texto){
Nodo *actual = new Nodo();
actual = lista;
int c = 0;
while(actual != NULL){
if(actual->dato == texto){
c++;
}
actual = actual->siguiente;
}
if(c%2==0){
cout<<"\nHome";
}else{
cout<<"\ncontest";
}
}
Explicación: