elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 [3] 4
21  Programación / Programación C/C++ / Re: Necesito tu ayuda para resolver un problema en C++ en: 27 Julio 2016, 21:20 pm
muchísimas gracias alberto por responder!!
explicare la salida:
lo primero ya lo dije la relación de 1, 2 y 3.
preguntan 2 conoce a 4 ? no, porque ni siquiera se ha mencionado a 4.
luego preguntan por 5 y 3 como 5 solo es amigo de 4 no hay ninguna relacion asi que no son amigos.
ahora se saludan 4 y 5 esto es como el primer caso donde se saludan 1 y 2.
por ultimo se saludan 5 y 1, aqui la magia, todos los amigos de 1 serán amigos de 5, y como vimos 4 es amigo de 5, asi que todos los amigos de 5 seran amigos de 4, entonces por eso queda la salida queda asi:

0
0
1
1

y si nos damos cuenta al final todos se conocen  :o
mira este el link del problema es un juez en linea https://omegaup.com/arena/problem/am#problems

también gracias por el código lo usare una vez que acabe mi programa.
si alguien puede resolverlo por favor comparta su respuesta, yo si lo acabo lo compartiré.
un saludo!!.



oye y respecto a la implementacion:
¿se puede usar un arbol binario de prioridades?
(priority binary tree)

22  Programación / Programación C/C++ / ¿Mejor algoritmo? Problema con aproximaciones de Grafos en: 27 Julio 2016, 09:43 am
Hola que tal a todos!!
llevo horas quemandome la cabeza y aun no encuetro una solucion optima para este problema, podras ayudarme? te lo agradeceria mucho.

este es el problema:
Amigos Interactivos

      Límite de memoria   128MB
                Límite de tiempo (caso)   1s   
                Límite de tiempo (total)   60s
Existe una serie de personas definidas en un espacio, dichas personas tienen la capacidad nata de comuncarse entre ellas y formar relaciones sociales, sin embargo hay relaciones muy especiales que dicen llamarce amistad, dichos individuos son conciderados amigos si realizan algun tipo de saludo especial. Una empresa de analisis de comportamiento humano te ha pedido que les ayudes a saber si un individuo A es amigo de un individuo B., un dato curioso es que si existen tres invidividuos A, C, B pertenecientes al espacio, y A es amigo de C y C amigo de B, se genera un lazo mistico mediante el cual A y B son amigos, aunque pudieren no conocerse.

Problema

Dada una descripcion de los sucesos que existen durante la estancia de N individuos en un espacio definido, responder secuencialmente a las preguntas fornuladas, de manera tal que se sepa si en algun momento un indiviuo es amigo del otro.

Entrada

Un unico numero N indicando la cantidad de Individuos

Un numero M indicando la cantidad de preguntas o sucesos que acontecen

Las siguientes M lineas contendran una letra 'P' seguida de dos enteros A y B de tal modo que se debera saber si A es amigo de B en base a los saludos que hallan sido registrados hasta el momento, en caso contrario, una letra 'S' seguida de dos numero A y B indicando que el individuo Ase ha saludado con el individuo B

Ejemplo:
Entrada   Salida
5 8  
 S 1 2  
 S 2 3  
 P 2 4  
 S 4 5  
 P 5 3  
 S 5 1  
 P 2 4  
 P 5 3
Salida

Un numero en una linea por cada pregunta dada en la entrada con un 1 si es que son amigos y un cero en caso contrario

Ejemplo:
Entrada   Salida
0  
 0  
 1  
 1
Límites

0< N < 100,000

0<M < 100,000

por el momento lo que llevo pensado es lo siguiente:
crear un array del tamaño de los amigos donde ese array almacenara vectores.
ahora como en el ejemplo meten un saludo de las personas 1 y 2.
en el vector de la persona 1 meto el 2
en el vector de la persona 2 meto el 1
con esto se que ambos se conocen.
ahora meten un salud de las personas 2 y 3.
hago lo mismo que arriba pero si nos damos cuenta tambien deben conocerse 1 y 3 asi que debo hacer algo mas.
aqui segun yo lo complicado:
          hago un for que recorra los amigos amigos de "a" donde a cada amigo de "a"
          le agrego un amigo de "a" que no tenga (por el lazo misterioso que mencionan        en el el problema)
por ejemplo:
en este caso el amigo a es 2 que tiene de amigos 1 y 3.
recorro el 2 llego al 1 y checo es amigo de 3 ? no, entonces añadelo
ahora llego al tres y checo es amigo de 1 ? no, entonces añadelo
bueno eso es todo lo que llevo ahora el codigo, que aun no acabo mi idea por lo que les mencione arriba:
Código
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef struct arrays{
  4.    vector<int>amigos;
  5. }persona;
  6. int main(){    
  7.    bool encontrado;
  8.    char opcion;
  9.    int individuos, preguntas, a, b;
  10.    int i, j, k, l;
  11.    cin>>individuos>>preguntas;
  12.    persona ar[individuos + 1];
  13.    for(i = 0; i < preguntas; i++){
  14.        cin>>opcion>>a>>b;
  15.        if(opcion == 'S'){
  16.            ar[a].amigos.push_back(b);
  17.            ar[b].amigos.push_back(a);
  18.            for(j = 1; j < ar[a].amigos.size(); j++)                
  19.                for(k = j + 1; k < ar[a].amigos.size() + 1; k++)
  20.                    for(l = 0; l < ar[j].amigos.size(); l++)
  21.  
  22.  
  23.        }
  24.        else{
  25.  
  26.        }
  27.    }
  28.    return 0;
  29. }
  30.  
si se les ocurre una idea mejor a la mia por favor!! avisenme!!!
23  Programación / Programación C/C++ / Re: (Recomendación) Búsquedas en C++ en: 23 Julio 2016, 00:53 am
Muchas gracias a Avesudra y Alberto por tomarse su tiempo.
Me parece perfecta la informacion que me compartiste Avesudra organizado y directo, nuevamente gracias.
24  Programación / Programación C/C++ / (Recomendación) Búsquedas en C++ en: 22 Julio 2016, 23:07 pm
Hola a todos!!!
Quisiera saber si alguien tiene material de apoyo o conoce de libros  acerca de las  búsquedas (amplitud, profundidad y exhaustiva).
Lo que pasa es que si he buscado en internet y obviamente hay mucho material pero la mayoría no lo entiendo necesito algo donde se explica cada cosa paso  a paso.
Quisiera por ejemplo realizar este problema :
https://omegaup.com/arena/problem/trampas#problems
Gracias por leer.
25  Programación / Programación C/C++ / Re: como crear funciones para listas enlazadas en c++? en: 14 Julio 2016, 23:42 pm
MUCHAS GRACIAS ALBERTO, DEJAME CHECAR TUS VIDEOS, YA SI TENGO UNA DUDA LES AVISO JEJE
26  Programación / Programación C/C++ / como crear funciones para listas enlazadas en c++? en: 14 Julio 2016, 23:18 pm
HOLA A TODOS!!
ANTES QUE NADA GRACIAS POR LEERLO.

PROBLEMA:
ME HE ATORADO EN QUE NO SE COMO DIVIDIR MI CODIGO EN FUNCIONES.

NOTA: EN EL SEGUNDO CODIGO INTENTE HACER UN MENU.

CODIGO QUE SI FUNCIONA:

Código
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef struct Nodo{
  5.    int dato;
  6.    struct Nodo *siguiente;
  7. }nodo;
  8.  
  9. int main(){
  10.    cin.tie(0);
  11.    ios_base::sync_with_stdio(0);
  12.    system("color 0a");
  13.  
  14.    int numero_De_elementos;
  15.    cout<<"Introduce el numero de elementos:"<<endl;
  16.    cin>>numero_De_elementos;
  17.    if(numero_De_elementos>0){
  18.        int dato;
  19.        nodo *n = NULL;
  20.        nodo *aux = NULL;
  21.        nodo *inicio = NULL;
  22.  
  23.        /*CREACION DE PRIMER NODO*/
  24.        n = (nodo*)malloc(sizeof(nodo));
  25.        cout<<"Introduce el nodo"<<endl;
  26.        cin>>dato;
  27.        n -> dato = dato;
  28.        aux = n;
  29.        inicio = n;
  30.        n -> siguiente = NULL;
  31.  
  32.        /*CREACION DE LOS NODOS RESTANTES*/
  33.        for(int i=1; i<numero_De_elementos; i++){
  34.            cout<<"Introduce el nodo"<<endl;
  35.            cin>>dato;
  36.            n = (nodo*)malloc(sizeof(nodo));
  37.            n -> dato = dato;
  38.            aux -> siguiente = n;
  39.            aux = aux -> siguiente;
  40.            n -> siguiente = NULL;
  41.        }
  42.  
  43.        /*RECORRIDO*/
  44.        aux = inicio;
  45.        while(aux != NULL){
  46.            cout<<aux->dato<<" -> ";
  47.            aux = aux ->siguiente;
  48.        }
  49.    }
  50. return 0;
  51. }

CODIGO CON FUNCIONES QUE NO SIRVE:
Código
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct Nodo{
  5.    int dato;
  6.    struct Nodo *siguiente;
  7. };
  8. typedef struct Nodo *Lista;
  9. void primer_nodo(nodo n, nodo aux, nodo inicio)){
  10.    int valor;
  11.    cout<<endl<<"INTRODUCE EL VALOR DEL NODO ";
  12.    cin>>valor;
  13.    n = (nodo*)malloc(sizeof(nodo));
  14.    n -> dato = valor;
  15.    aux = n;
  16.    inicio = n;
  17.    n -> siguiente = NULL;
  18. }
  19.  
  20. void agregar_nodo(nodo n, nodo aux){
  21.    cout<<endl<<"INTRODUCE EL VALOR DEL NODO ";
  22.    cin>>valor;
  23.    n = (nodo*)malloc(sizeof(nodo));
  24.    n -> dato = valor;
  25.    aux -> siguiente = n;
  26.    aux = n;
  27. }
  28.  
  29. void imprimir(nodo aux, nodo inicio){
  30.    aux = inicio;
  31.    while(aux !=  NULL){
  32.        cout<<aux -> dato<<" -> ";
  33.        aux = aux -> siguiente;
  34.    }
  35. }
  36.  
  37. int main(){
  38.    system("color 0a");
  39.    int respuesta;
  40.    int contador=0;
  41.    nod *n =  NULL;
  42.    nodo *aux =  NULL;
  43.    nodo *inicio =  NULL;
  44.    cout<<"LISTAS ENLAZADAS"<<endl<<endl;
  45.    cout<<"0) MOSTRAR EL NUMERO DE ELEMENTOS DE LA LISTA"<<endl;
  46.    cout<<"1) AGREGAR ELEMENTO AL FINAL"<<endl;
  47.    cout<<"2) ELIMINAR ELEMENTO AL FINAL (AUN NO SIRVE xD)"<<endl;
  48.    cout<<"3) MOSTAR LISTA"<<endl;
  49.    cout<<"4) SALIR"<<endl;
  50.    cout<<endl<<"INTRODUCE EL NUMERO DE LA OPCION DESEADA ";
  51.    while(respuesta != 4){
  52.        cin>>respuesta;
  53.  
  54.        if(respuesta == 0)
  55.            cout<<contador;
  56.  
  57.        if(respuesta == 1){
  58.            if(contador == 0)
  59.                primer_nodo(n,aux,inicio);
  60.            else
  61.                agregar_nodo(n,aux);
  62.  
  63.        }
  64.        if(respuesta == 2)
  65.  
  66.        if(respuesta == 3)
  67.            imprimir(aux,inicio);
  68.  
  69.    }
  70.    return 0;
  71. }
27  Programación / Programación C/C++ / Re: sabes de ordenamiento en c++? en: 21 Junio 2016, 02:13 am
gracias por responder!!
pues la verdad no se,pero solo quiero ordenar las parejas de números como se ve a continuación
antes
2,5
2,7
2,1
2,5
despues
2,1
2,5
2,5
2,7
es decir checo primero cual es la x menor despues la y menor
28  Programación / Programación C/C++ / sabes de ordenamiento en c++? en: 21 Junio 2016, 01:46 am
Hola a todos!
pues me encuentro con un problema donde necesito ordenar coordenadas de menor a mayor. ejemplo:
 5,4
 5,4
 4,6
 2,1
ya ordenadas:
 2,1
 4,6
 5,4
 5,4
si pudieran decirme como o alguna idea de como hacerlo se los agradeceria mucho.
 ;-)
29  Programación / Programación C/C++ / Re: Necesito tu ayuda, debo detectar un jaque en c++ en: 17 Junio 2016, 23:16 pm
.
30  Programación / Programación C/C++ / Re: Necesito tu ayuda, debo detectar un jaque en c++ en: 17 Junio 2016, 22:24 pm
Gracias nuevamente, tienes mucha razon, lo voy a intentar pero la verdad no se me ocurre como jeje podrias darme un ejemplo? por favor abusando de tu amabilidad.
Páginas: 1 2 [3] 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines