- Raissa Papini
- Mensagens : 12
Data de inscrição : 12/04/2017
Treino Online 05/09
Qua Set 06 2017, 00:30
Olá pessoal!
Como já tinha avisado, vou colocar os exercícios aqui e vocês terão até amanhã (06/09) às 20:30 para enviar a resolução das atividades. A entrega pode ser feita aqui mesmo pelo fórum! Todos que entregarem receberão 7pts, pode não ser muito mas é possível que faça diferença posteriormente. Qualquer dúvida, sintam-se livres para perguntar .
Exercícios Turma Superior
Exercícios Turma Técnico
Boa sorte!
Como já tinha avisado, vou colocar os exercícios aqui e vocês terão até amanhã (06/09) às 20:30 para enviar a resolução das atividades. A entrega pode ser feita aqui mesmo pelo fórum! Todos que entregarem receberão 7pts, pode não ser muito mas é possível que faça diferença posteriormente. Qualquer dúvida, sintam-se livres para perguntar .
Exercícios Turma Superior
- Terminar o exercício "Frequência", nível Universitário da Fase 2 - OBI 2014: prova aqui
- Exercício "Quebra-cabeça", nívle Universitário da Fase 1 - OBI 2015: prova aqui
Exercícios Turma Técnico
- Exercício "Quebra-cabeça", nível Programação nível 2, Fase 1 - OBI 2015: prova aqui
- Exercício "Fechadura", nível Programação nível 2, Fase 1 - OBI 2014: prova aqui
Boa sorte!
- Bárbara Souza
- Mensagens : 1
Data de inscrição : 12/04/2017
atividade frequencia
Qui Set 07 2017, 15:48
#include <stdio.h>
#include <stdlib.h>
int main()
{
int k,t,X,R,op,i,j,N,Q;
int pos,maior;
scanf("%d%d",&N,&Q);
int tab[N][N],vet[N];
for(i=0;i<N;i++){
for(j=0;j<N;j++){
tab[i][j]=0;
}
vet[i]=0;
//i = 0;
}
for (i=0; i<Q; i++){
scanf("%d", &op);
if (op==1){
scanf("%d %d",&X ,&R);
for(t=0;t<N;t++){
tab[X][t]=R;
}
}
if (op==2){
scanf("%d%d",&X ,&R);
for(t=0;t<N;t++){
tab[t][X]=R;
}
}
/* if (op==3){
scanf("%d",&X);
for(t=0;t<N;t++){
for (j=t+1;j<N;j++){
if(tab[X][t]==tab[X][t]){
vet[t]++;
}
}
}
for (t=0;t<N;t++){
if(t==0){
maior=vet[t];
}
else
if(vet[t]>maior){
maior=vet[t];
pos=t;
}
}
printf("%d\n", tab[X][pos]);
}
if (op==4){
scanf("%d",&X);
for(t=0;t<N;t++){
for (j=t+1;j<N;j++){
if(tab[X][t]==tab[X][j]){
vet[t]++;
}
}
}
for (t=0;t<N;t++){
if(t==0){
maior=vet[t];
}
else
if(vet[t]>maior){
maior=vet[t];
pos=t;
}
}
printf("%d\n", tab[pos][X]);*/
}
return 0;
}
#include <stdlib.h>
int main()
{
int k,t,X,R,op,i,j,N,Q;
int pos,maior;
scanf("%d%d",&N,&Q);
int tab[N][N],vet[N];
for(i=0;i<N;i++){
for(j=0;j<N;j++){
tab[i][j]=0;
}
vet[i]=0;
//i = 0;
}
for (i=0; i<Q; i++){
scanf("%d", &op);
if (op==1){
scanf("%d %d",&X ,&R);
for(t=0;t<N;t++){
tab[X][t]=R;
}
}
if (op==2){
scanf("%d%d",&X ,&R);
for(t=0;t<N;t++){
tab[t][X]=R;
}
}
/* if (op==3){
scanf("%d",&X);
for(t=0;t<N;t++){
for (j=t+1;j<N;j++){
if(tab[X][t]==tab[X][t]){
vet[t]++;
}
}
}
for (t=0;t<N;t++){
if(t==0){
maior=vet[t];
}
else
if(vet[t]>maior){
maior=vet[t];
pos=t;
}
}
printf("%d\n", tab[X][pos]);
}
if (op==4){
scanf("%d",&X);
for(t=0;t<N;t++){
for (j=t+1;j<N;j++){
if(tab[X][t]==tab[X][j]){
vet[t]++;
}
}
}
for (t=0;t<N;t++){
if(t==0){
maior=vet[t];
}
else
if(vet[t]>maior){
maior=vet[t];
pos=t;
}
}
printf("%d\n", tab[pos][X]);*/
}
return 0;
}
- HenriqueSantana
- Mensagens : 2
Data de inscrição : 02/06/2017
Re: Treino Online 05/09
Qui Set 07 2017, 15:57
Seguem os codigos da Frequência e do Quebra-Cabeça, porém o da Frequência eu e o Pedro não conseguimos fazer funcionar pra valores muito grandes de N, deu erro de runtime...
(Não enviei em anexo pois o tamanho maximo foi excedido, mesmo sendo apenas 1KB o arquivo)
(Não enviei em anexo pois o tamanho maximo foi excedido, mesmo sendo apenas 1KB o arquivo)
- Frequência:
- Código:
#include <stdio.h>
#include <stdlib.h>
int main(){
int **matriz;
long long i, j, qL;
long long N, x, q;
int op, r;
long long ocorre[51] = {0};
int maior = 0;
scanf("%lld", &N);
matriz = malloc(N*sizeof(int*));
for(i=0; i<N; i++){
matriz[i] = malloc(N*sizeof(int));
for(j=0; j<N; j++){
matriz[i][j] = 0;
}
}
scanf("%lld", &q);
for(qL=0; qL<q; qL++){
scanf("%d", &op);
if(op==1){
scanf("%d %d", &x, &r);
for(i=0; i<N; i++)
matriz[x-1][i] = r;
} else if (op==2) {
scanf("%d %d", &x, &r);
for(i=0; i<N; i++)
matriz[i][x-1] = r;
} else if (op==3) {
scanf("%d", &x);
for (i=0;i<N;i++)
ocorre[matriz[x-1][i]]++;
for (i=0;i<=50;i++)
if (ocorre[i]>=ocorre[maior])
maior = i;
printf("%d\n",maior);
for (i=0;i<=50;i++)
ocorre[i] = 0;
maior = 0;
} else if (op==4) {
scanf("%d", &x);
for (i=0;i<N;i++)
ocorre[matriz[i][x-1]]++;
for (i=0;i<=50;i++)
if (ocorre[i]>=ocorre[maior])
maior = i;
printf("%d\n",maior);
for (i=0;i<=50;i++)
ocorre[i] = 0;
maior = 0;
}
}
return 0;
}
- Quebra-Cabeça:
- Código:
#include <stdio.h>
#include <stdlib.h>
#define MAX 200001
typedef struct {
char letra;
long long encaixe;
} Peca;
int main(){
long long n;
Peca pecas[MAX];
long long i,e,c,d;
scanf("%lld",&n);
for (i=0;i<n;i++){
scanf("%lld %c %lld",&e,&c,&d);
pecas[e].letra = c;
pecas[e].encaixe = d;
}
i=0;
while (i!=1){
printf("%c",pecas[i].letra);
i = pecas[i].encaixe;
}
printf("\n");
return 0;
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|