#3911
PermPrimPF
Se dă o mulțime cu n
elemente, numere naturale. Afișați în ordine lexicografică toate permutările mulțimii date în care elementele prime sunt puncte fixe (nu își schimbă poziția).
Problema | PermPrimPF | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #54071325 | Utilizator | |
Fișier | permprimpf.cpp | Dimensiune | 893 B |
Data încărcării | 19 Noiembrie 2024, 09:51 | Scor / rezultat | Eroare de compilare |
permprimpf.cpp:1:20: warning: extra tokens at end of #include directive [enabled by default] #include<iostream> using namespace std; int n,v[16],x[16]; void Citire() { int i; cin>>n; for(i=1;i<=n;i++) cin>>v[i]; } int Prim(int n) { if(n<2) return 0; if(n%2==0 && n!=2) return 0; for(int i=3;i*i<=n;i+=2) if(n%i==0) return 0; return 1; } void Sortare() { int i,j,aux; for(i=1;i<n;i++) if(!Prim(v[i])) for(j=i+1;j<=n;j++) if(!Prim(v[j])) if(v[i]>v[j]) aux=v[i],v[i]=v[j],v[j]=aux; } void PuncteFixe() { // fixam punctele int i; for(i=1;i<=n;i++) if(Prim(v[i])) x[i]=i; } void Afisare() { int i; for(i=1;i<=n;i++) cout<<v[x[i]]<<" "; cout<<"\n"; } int Valid(int k) { int i; for(i=1;i<k;i++) if(x[i]==x[k]) return 0; return 1; } void Backtracking(int k) { if(k>n) Afisare(); else { if(Prim(v[k])) Backtracking(k+1); else { int i; for(i=1;i<=n;i++) if(!Prim(v[i])) { x[k]=i; if(Valid(k)) Backtracking(k+1); } } } } int main() { Citire(); Sortare(); PuncteFixe(); Backtracking(1); return 0; } ^ permprimpf.cpp:1:144: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] #include<iostream> using namespace std; int n,v[16],x[16]; void Citire() { int i; cin>>n; for(i=1;i<=n;i++) cin>>v[i]; } int Prim(int n) { if(n<2) return 0; if(n%2==0 && n!=2) return 0; for(int i=3;i*i<=n;i+=2) if(n%i==0) return 0; return 1; } void Sortare() { int i,j,aux; for(i=1;i<n;i++) if(!Prim(v[i])) for(j=i+1;j<=n;j++) if(!Prim(v[j])) if(v[i]>v[j]) aux=v[i],v[i]=v[j],v[j]=aux; } void PuncteFixe() { // fixam punctele int i; for(i=1;i<=n;i++) if(Prim(v[i])) x[i]=i; } void Afisare() { int i; for(i=1;i<=n;i++) cout<<v[x[i]]<<" "; cout<<"\n"; } int Valid(int k) { int i; for(i=1;i<k;i++) if(x[i]==x[k]) return 0; return 1; } void Backtracking(int k) { if(k>n) Afisare(); else { if(Prim(v[k])) Backtracking(k+1); else { int i; for(i=1;i<=n;i++) if(!Prim(v[i])) { x[k]=i; if(Valid(k)) Backtracking(k+1); } } } } int main() { Citire(); Sortare(); PuncteFixe(); Backtracking(1); return 0; } ^ /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function \`_start': (.text+0x18): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema PermPrimPF face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.