Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Trabalho 1 - Inteligencia Artificial
- Daniel Valim Pereira - RA 511315
- Diego Tenório de Araújo - RA 552143
- Rafael de Almeida Sobieski - RA 489646
- */
- #include<iostream>
- #include<cstdio>
- #include<cstdlib>
- #include<cstring>
- using namespace std;
- int n;
- int custo = 0;
- void buscaLargura(){}
- void buscaProfundidade(){}
- void buscaProfundidadeLimitada(){}
- void buscaProfundidadeIterativa(){}
- void buscaCustoUniforme(){}
- void buscaA(){}
- int retornaEspaco(char* regua){
- for(int i=0; i<2*n+1; i++){
- if(regua[i] == '-')
- return i;
- }
- }
- int meta(char* regua){
- int flag = 0;
- for(int i=0; i<2*n+1; i++){
- if(regua[i] == 'A'){
- flag = 1;
- }
- if(flag && regua[i] == 'B')
- return 0;
- }
- return 1;
- }
- int main(int argc, char ** argv){
- FILE *fp;
- char regua[100];
- /* Verificacao dos parametros de entrada*/
- if(argc != 3){
- printf("Erro na entrada de dados!\n");
- return 0;
- }
- /* Abertura de Arquivo */
- fp = fopen (argv[1], "r+");
- if(fp == NULL){
- printf("Erro na leitura do arquivo de dados!\n");
- return 0;
- }
- fscanf(fp, "%d %s", &n, ®ua);
- /* Selecao do tipo de busca de acordo com a entrada no argv[2]*/
- if(strcmp(argv[2], "BL") == 0){
- printf("Busca em largura: \n");
- buscaLargura();
- }
- else if(strcmp(argv[2], "BP") == 0){
- printf("Busca em profundidade: \n");
- buscaProfundidade();
- }
- else if(strcmp(argv[2], "BPL") == 0){
- printf("Busca em profundidade limitada: \n");
- buscaProfundidadeLimitada();
- }
- else if(strcmp(argv[2], "BPI") == 0){
- printf("Busca em profundidade iterativa: \n");
- buscaProfundidadeIterativa();
- }
- else if(strcmp(argv[2], "BCU") == 0){
- printf("Busca de custo uniforme: \n");
- buscaCustoUniforme();
- }
- else if(strcmp(argv[2], "A*") == 0){
- printf("Busca A*: \n");
- buscaA();
- }
- if(meta(regua)){
- printf("Estado objetivo encontrado!\n");
- return 0;
- }
- int espaco = retornaEspaco(regua);
- int ini, fim; //casas limite dos indices que podem trocar de lugar com o '-' para a geraçao de nos
- if(espaco == 0){
- ini = 1;
- fim = n;
- }else if(espaco == 2*n){
- ini = n;
- fim = 2*n-1;
- }else{
- ini = espaco - n;
- fim = espaco + n;
- if(ini < 0) ini = 0;
- if(fim > 2*n) fim = 2*n;
- }
- fclose(fp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement