Ir ao conteúdo
  • Cadastre-se

Usuário 25

Membros Juniores
  • Total de itens

    16
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Atualmente estou criando aplicativo utilizando o react Native, após tentar navegar entre telas está aparecendo a seguinte erro: undefined is not an object (evaluating '_this.props.navigation.navigate') Alguém poderia me ajudar?
  2. @Benjamin Breeg valeu!!! muito Obrigado!!!
  3. qual seria o substituto da função count() em C ? e para que serve?
  4. @devair1010 OI tudo bem, esse exercício e da OBI, Esse e o link: https://olimpiada.ic.unicamp.br/pratique/p2/2017/f3/codigo/ tentei fazer porém não funcionou: #include <stdio.h> #include <stdlib.h> #include<conio.h> #include <string.h> #define MAX 10 char buf; int N; char prefixo[MAX+1],sufixo[MAX+1]; int main(int argc, char *argv[]) { int N; int i, k; char pref, suf; scanf("%d", &N); for ( i = 0; i < N; i++ ){ scanf("%s", &buf); for ( k = MAX; k > 0; k-- ){ if ( sufixo[k] > 0 ){ if ( k == MAX ){ printf("%s",&buf ); return 0; } else { if ( prefixo[MAX-k] > 0 ){ printf("%s",&buf ); return 0; } } } } for ( k = MAX; k >= 0; k-- ){ if ( k < MAX && k > 0 ){ prefixo[k]; } if ( k < MAX ){ sufixo[MAX-k]; } } } printf( "ok" ); return 0; }
  5. @Leonardo0308 teria como você me ajudar nesse exercício :
  6. Preciso fazer esse código em C. Alguém poderia me ajudar. A professora Maryam está tentando construir um código constituído de uma sequência de N cadeias de 10 letras minúsculas, S1,S2,S3,…,SN. Essas cadeias da sequência serão, no futuro, concatenadas de diversas maneiras para formar cadeias maiores. Mas, para que o código seja válido, a sequência de cadeias tem que satifazer uma propriedade bastante específica: nenhuma cadeia da sequência pode ser subcadeia de uma concatenação de duas cadeias anteriores na sequência. De forma mais rigorosa, o código será inválido se existirem três inteiros a, b e k, tais que: 1 ≤ a < k ≤ N, 1 ≤ b < k ≤ N (a pode ser igual a b); e Sk é subcadeia da concatenação SaSb. Por exemplo, o código S={aaaaaaabbb,yyuudiwwkl, kkfidaaooa} é válido. Mas se adicionarmos a cadeia aooaaaaaaa no final da sequência, o código resultante, S‘={aaaaaaabbb,yyuudiwwkl, kkfidaaooa, aooaaaaaaa}, será inválido, pois S‘4 é subcadeia da concatenação S‘3S‘1. Dada a sequência de cadeias, seu programa deve determinar se o código é válido, ou não. Entrada A primeira linha da entrada contém um inteiro N, representando o número de cadeias na sequência. As N linhas seguintes contêm, cada uma, uma cadeia de 10 letras minúsculas, definindo a sequência de cadeias do código. Saída Seu programa deve imprimir uma linha contendo a cadeia "ok" caso o código seja válido, ou contendo a primeira cadeia na sequência que invalida o código. Quer dizer, contendo Sk onde k é o menor possível tal que Sk seja subcadeia de uma concatenação de duas cadeias anteriores na sequência. Restrições 1 ≤ N ≤ 10000 Informações sobre a pontuação Em um conjunto de casos de teste somando 40 pontos, N ≤ 100 Exemplos Entrada 3 aaaaaaabbb yyuudiwwkl kkfidaaooa Saída ok Entrada 4 aaaaaaabbb yyuudiwwkl kkfidaaooa aooaaaaaaa Saída aooaaaaaaa Entrada 1 jfjshiddds Saída ok
  7. @Leonardo0308 Seu programa deve imprimir uma linha contendo a cadeia "ok" caso o código seja válido, ou contendo a primeira cadeia na sequência que invalida o código. Quer dizer, contendo Sk onde k é o menor possível tal que Sk seja subcadeia de uma concatenação de duas cadeias anteriores na sequência. Exemplos Entrada 3 aaaaaaabbb yyuudiwwkl kkfidaaooa Saída ok Entrada 4 aaaaaaabbb yyuudiwwkl kkfidaaooa aooaaaaaaa Saída aooaaaaaaa Entrada 1 jfjshiddds Saída ok Porém o meu código só aparace ok para tudo. #include <stdio.h> #include <stdlib.h> #include<conio.h> #include <string.h> #define MAX 10 char buf; int N; char prefixo[MAX+1],sufixo[MAX+1]; int main(int argc, char *argv[]) { int N; int i, k; char pref, suf; scanf("%d", &N); for ( i = 0; i < N; i++ ){ scanf("%s", &buf); for ( k = MAX; k > 0; k-- ){ if ( sufixo[k] > 0 ){ if ( k == MAX ){ printf("%s",&buf ); return 0; } else { if ( prefixo[MAX-k] > 0 ){ printf("%s",&buf ); return 0; } } } } for ( k = MAX; k >= 0; k-- ){ if ( k < MAX && k > 0 ){ prefixo[k]; } if ( k < MAX ){ sufixo[MAX-k]; } } } printf( "ok" ); return 0; } Tentei converter mas não funcionou.
  8. @Leonardo0308 poderia me ajudar?
  9. @Leonardo0308 @Leonardo0308@Leonardo0308 a parte inicial e alguns comandos específicos da linguagem, como: prefixo.get(k).add( pref );e outros
  10. import java.util.*; import java.io.*; import java.lang.*; public class codigo_java { public static int MAX = 10; public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int N; String buf; ArrayList<HashSet<String>> prefixo = new ArrayList<HashSet<String>>(MAX+1); ArrayList<HashSet<String>> sufixo = new ArrayList<HashSet<String>>(MAX+1); for ( int i = 0; i <= MAX; i++ ){ prefixo.add(new HashSet<String>()); sufixo.add(new HashSet<String>()); } String line = in.readLine(); StringTokenizer tokenizer = new StringTokenizer(line," "); N = Integer.parseInt(tokenizer.nextToken()); for ( int i = 0; i < N; i++ ){ line = in.readLine(); tokenizer = new StringTokenizer(line," "); buf = tokenizer.nextToken(); // checa validade for ( int k = MAX; k > 0; k-- ){ String pref = buf.substring(0,k); if ( sufixo.get(k).contains( pref ) ){ if ( k == MAX ){ System.out.println( buf ); return; } else { String suf = buf.substring(k,MAX); if ( prefixo.get(MAX-k).contains( suf ) ){ System.out.println( buf ); return; } } } } // inclui palavra (prefixos e sufixos) for ( int k = MAX; k >= 0; k-- ){ if ( k < MAX && k > 0 ){ String pref = buf.substring(0,k); prefixo.get(k).add( pref ); } if ( k < MAX ){ String suf = buf.substring(k,MAX); sufixo.get(MAX-k).add( suf ); } } } System.out.println( "ok" ); } }
  11. Oi preciso de ajuda!!!! #include <iostream> #include <string> #include <set> #define MAX 10 using namespace std; set<string> prefixo[MAX+1],sufixo[MAX+1]; int N; string buf; int main(){ cin >> N; for ( int i = 0; i < N; i++ ){ cin >> buf; // checa validade for ( int k = MAX; k > 0; k-- ){ string pref (buf,0,k); if ( sufixo[k].count( pref ) > 0 ){ if ( k == MAX ){ cout << buf << endl; return 0; } else { string suf (buf,k,MAX-k); if ( prefixo[MAX-k].count( suf ) > 0 ){ cout << buf << endl; return 0; } } } } // inclui palavra (prefixos e sufixos) for ( int k = MAX; k >= 0; k-- ){ if ( k < MAX && k > 0 ){ string pref (buf,0,k); prefixo[k].insert(pref); } if ( k < MAX ){ string suf (buf,k,MAX-k); sufixo[MAX-k].insert(suf); } } } cout << "ok" << endl; return 0; }
  12. #include <stdio.h> #include <algorithm> #include <vector> using namespace std; vector<int> graph[112345], tab[112345], nexta[112345]; int pd(int a, int i) { if(i >= graph[a].size()) return 1; if(tab[a][i]) return tab[a][i]; return tab[a][i] = max(pd(graph[a][i], nexta[a][i]) + 1, pd(a, i+1)); } int main(void) { int n, m, a, b; scanf("%d %d", &n, &m); for(int i = 0; i < m; i++) { scanf("%d %d", &a, &b); graph[a].push_back(b); tab[a].push_back(0); graph[b].push_back(a); tab[b].push_back(0); } for(int i = 1; i <= n; i++) sort(graph[i].begin(), graph[i].end()); for(int i = 1; i <= n; i++) for(int j = 0; j < graph[i].size(); j++) nexta[i].push_back(upper_bound(graph[graph[i][j]].begin(), graph[graph[i][j]].end(), i) - graph[graph[i][j]].begin()); printf("%d", pd(1, 0)); for(int i = 2; i <= n; i++) printf(" %d", pd(i, 0)); printf("\n"); } Olá pessoal tudo bem, preciso converter esse código C++ para C, Será que alguém poderia me ajudar.
  13. Olá pessoal, estou fazendo um trabalho, preciso converter C++ para C alguém poderia me ajudar? Ciclovias A cidade de Nlogônia é mundialmente conhecida pelas suas iniciativas de preservação ambiental. Dentre elas, uma das que mais chama atenção é a existência de ciclovias em todas as ruas da cidade. Essa medida teve um sucesso tão grande, que agora a maioria dos moradores usa a bicicleta diariamente. Em Nlogônia, as interseções são numeradas de 1 até N. Cada rua liga duas interseções A e B e possui uma ciclovia entre A e B. Um caminho P de tamanho K é definido como uma sequência de interseções P1, P2, ...\ , PK, tal que para todo i, 1 ≤ i < K, existe uma ciclovia entre Pi e P_i+1. Arnaldo e Bernardo estavam passeando de bicileta pelas ruas de Nlognônia quando pensaram em um novo jogo. Nesse jogo, os dois partem de alguma interseção C e procuram o caminho P de maior tamanho que satisfaça a seguinte regra: as subsequências P1, P3, P5, \ldots , P2x + 1 \quad \quad P2, P4, P6, \ldots, P2x da sequência P devem ser ambascrescentes. Ganha o jogo aquele que encontrar o maior caminho. Bernardo te ligou pedindo ajuda para se preparar para o jogo. Com o mapa da cidade você deve encontrar o tamanho do maior caminho possível para todas as interseções iniciais possíveis, seguindo as restrições acima. No exemplo abaixo, o maior caminho possível para início na interseção 1 é P = (1, 3, 5, 4, 7) e para início na interseção 5 é P = (5, 3, 6) ou P = (5,4,7). Entrada A primeira linha contém dois inteiros N e M, representando respectivamente o número de interseções e o número de ruas. As M linhas seguintes contém dois inteiros A e B indicando que existe uma ciclovia entre A a B. Saída Seu programa deve produzir uma única linha, contendo N inteiros R1, R2, ... \ RN, onde Ri é o tamanho do maior caminho possível se o jogo começar na interseção i. Restrições 1 ≤ N ≤ 105. 0 ≤ M ≤ \dfracN(N-1)2. 0 ≤ M ≤ 5 \times 105. A ≠ B. 1 ≤ A, B ≤ N. Não existem duas ciclovias iguais. Informações sobre a pontuação Em um conjunto de casos de teste equivalente a 20 pontos, N ≤ 7. Em um conjunto de casos de teste equivalente a 40 pontos, N ≤ 100. Em um conjunto de casos de teste equivalente a 60 pontos, N ≤ 1000 Exemplos Entrada 5 5 1 5 1 3 1 2 2 5 4 5 Saída 4 4 4 2 2 Entrada 6 6 1 3 2 3 4 2 3 4 3 5 5 4 Saída 7 5 6 4 2 1 O exercício abaixo é resolução oferecida, entretanto ela está em C++, eu preciso responder e C. #include <stdio.h> #include <algorithm> #include <vector> using namespace std; vector<int> graph[112345], tab[112345], nexta[112345]; int pd(int a, int i) { if(i >= graph[a].size()) return 1; if(tab[a][i]) return tab[a][i]; return tab[a][i] = max(pd(graph[a][i], nexta[a][i]) + 1, pd(a, i+1)); } int main(void) { int n, m, a, b; scanf("%d %d", &n, &m); for(int i = 0; i < m; i++) { scanf("%d %d", &a, &b); graph[a].push_back(b); tab[a].push_back(0); graph[b].push_back(a); tab[b].push_back(0); } for(int i = 1; i <= n; i++) sort(graph[i].begin(), graph[i].end()); for(int i = 1; i <= n; i++) for(int j = 0; j < graph[i].size(); j++) nexta[i].push_back(upper_bound(graph[graph[i][j]].begin(), graph[graph[i][j]].end(), i) - graph[graph[i][j]].begin()); printf("%d", pd(1, 0)); for(int i = 2; i <= n; i++) printf(" %d", pd(i, 0)); printf("\n"); }
  14. Oi obrigado pela ajuda amigo, o código acima é a resolução oferecida pelo site... que está C++, preciso converter para C, acabei de postar o enunciado da pergunta.
  15. #include <bits / stdc ++. h> usando namespace std; const int N = 100001; int n, m; vetor <int> adj [N], vis [N]; int calc (int p, int q) { return lower_bound (adj [p] .begin (), adj [p] .end (), q + 1) -adj [p] .begin (); } int dfs (int p, int a) { if (a == vis [p] .size ()) retorna 0; int & res = vis [p] [a]; if (res) retorna res; return res = max (dfs (adj [p] [a], calc (adj [p] [a], p)) + 1, dfs (p, a + 1)); } int main () { ios :: sync_with_stdio (0); cin >> n >> m; para (int i = 0; i <m; ++ i) { int a, b; cin >> a >> b; adj [a] .push_back (b); vis [a] .push_back (0); adj [b] .push_back (a); vis [b] .push_back (0); } para (int i = 1; i <= n; ++ i) sort (adj [i] .begin (), adj [i] .end ()); para (int i = 1; i <= n; ++ i) cout << (i == 1? "": "") << 1 + dfs (i, 0); cout << endl; } Olá pessoal, estou fazendo um trabalho na faculdade, preciso converter C++ para C alguém poderia me ajudar? Ciclovias A cidade de Nlogônia é mundialmente conhecida pelas suas iniciativas de preservação ambiental. Dentre elas, uma das que mais chama atenção é a existência de ciclovias em todas as ruas da cidade. Essa medida teve um sucesso tão grande, que agora a maioria dos moradores usa a bicicleta diariamente. Em Nlogônia, as interseções são numeradas de 1 até N. Cada rua liga duas interseções A e B e possui uma ciclovia entre A e B. Um caminho P de tamanho K é definido como uma sequência de interseções P1, P2, ...\ , PK, tal que para todo i, 1 ≤ i < K, existe uma ciclovia entre Pi e P_i+1. Arnaldo e Bernardo estavam passeando de bicileta pelas ruas de Nlognônia quando pensaram em um novo jogo. Nesse jogo, os dois partem de alguma interseção C e procuram o caminho P de maior tamanho que satisfaça a seguinte regra: as subsequências P1, P3, P5, \ldots , P2x + 1 \quad \quad P2, P4, P6, \ldots, P2x da sequência P devem ser ambascrescentes. Ganha o jogo aquele que encontrar o maior caminho. Bernardo te ligou pedindo ajuda para se preparar para o jogo. Com o mapa da cidade você deve encontrar o tamanho do maior caminho possível para todas as interseções iniciais possíveis, seguindo as restrições acima. No exemplo abaixo, o maior caminho possível para início na interseção 1 é P = (1, 3, 5, 4, 7) e para início na interseção 5 é P = (5, 3, 6) ou P = (5,4,7). Entrada A primeira linha contém dois inteiros N e M, representando respectivamente o número de interseções e o número de ruas. As M linhas seguintes contém dois inteiros A e B indicando que existe uma ciclovia entre A a B. Saída Seu programa deve produzir uma única linha, contendo N inteiros R1, R2, ... \ RN, onde Ri é o tamanho do maior caminho possível se o jogo começar na interseção i. Restrições 1 ≤ N ≤ 105. 0 ≤ M ≤ \dfracN(N-1)2. 0 ≤ M ≤ 5 \times 105. A ≠ B. 1 ≤ A, B ≤ N. Não existem duas ciclovias iguais. Informações sobre a pontuação Em um conjunto de casos de teste equivalente a 20 pontos, N ≤ 7. Em um conjunto de casos de teste equivalente a 40 pontos, N ≤ 100. Em um conjunto de casos de teste equivalente a 60 pontos, N ≤ 1000 Exemplos Entrada 5 5 1 5 1 3 1 2 2 5 4 5 Saída 4 4 4 2 2 Entrada 6 6 1 3 2 3 4 2 3 4 3 5 5 4 Saída 7 5 6 4 2 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!