Pagini recente » Diferente pentru problema/dreptunghi3 intre reviziile 6 si 3 | Diferente pentru problema/arbset intre reviziile 8 si 4 | Monitorul de evaluare | Diferente pentru utilizator/andreijj intre reviziile 8 si 7 | Diferente pentru template_shopping intre reviziile 4 si 5
Nu exista diferente intre titluri.
Diferente intre continut:
h1. Template C
==code(c) |
#include <stdio.h>
#include <stdlib.h>
// Afla raspunsul la interactiune daca ar trimite sirurile de caractere A si B de marime N
// N trebuie sa fie cel pe care il primesti in find_permutation
// A si B trebuie indexate de la 0 si sa fie de marime cel putin N
int query(char* A, char* B, int N);
// De aici in sus nu ar trebui sa modifici nimic
int rezperm[200];
// Functia trebuie sa returneze permutarea ceruta
// Permutarea aici in implementare va fi indexata de la 0
int* find_permutation(int N) {
int i;
for(i = 0; i < N; ++i)
rezperm[i] = i + 1;
return rezperm;
}
// De aici in jos nu ar trebui sa modifici nimic
int query(char* A, char* B, int N) {
int i, val;
fputc('?', stdout);
for(i = 0; i < N; ++i)
fputc(A[i], stdout);
fputc(' ', stdout);
for(i = 0; i < N; ++i)
fputc(B[i], stdout);
fputc('\n', stdout);
fflush(stdout);
scanf("%d", &val);
if(val == -1)
exit(0);
return val;
}
int main() {
int i, T, N, *perm;
scanf("%d", &T);
while(T--) {
scanf("%d", &N);
perm = find_permutation(N);
printf("! ");
for(i = 0; i < N; ++i)
printf("%d ", perm[i]);
printf("\n");
fflush(stdout);
}
return 0;
}
==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.