#3942
fazan
Se dau n
cuvinte formate din litere mici și un număr m
. Afișați în ordine lexicografică toate șirurile de m cuvinte dintre cele date, care respectă regula jocului Fazan
.
Problema | fazan | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #35587794 | Utilizator | |
Fișier | fazan.cpp | Dimensiune | 738 B |
Data încărcării | 15 Martie 2022, 10:43 | Scor / rezultat | 100 puncte |
fazan.cpp: In function 'void back(int)': fazan.cpp:5:359: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] int s[100], n, k, m, ok; char a[31][31]; void afisare(int k) { for(int i=1; i<=k; i++) cout<<a[s[i]]<<" "; cout<<"\n"; ok=1; } int valid(int k) { if(k==1) return 1; for(int i=1; i<k; i++) if(s[i]==s[k]) return 0; int l=strlen(a[s[k-1]]); if(strstr(a[s[k]],a[s[k-1]]+l-2)!=a[s[k]]) return 0; return 1; } void back(int k) { for(int i=1; i<=n; i++) { s[k]=i; if(valid(k)) if(k==m) afisare(k); else back(k+1); } } int main() { cin>>n>>m; for(int i=1; i<=n; i++) cin>>a[i]; for(int i=1; i<n; i++) for(int j=i+1; j<=n; j++) if(strcmp(a[i],a[j])>0) { char aux[31]; strcpy(aux,a[i]); strcpy(a[i],a[j]); strcpy(a[j],aux); } back(1); if(ok==0) cout<<"IMPOSIBIL"; } ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | Exemplu | |
5 | 0 secunde | OK. | 10 | 10 | ||
6 | 0 secunde | OK. | 10 | 10 | ||
7 | 0 secunde | OK. | 10 | 10 | ||
8 | 0 secunde | OK. | 10 | 10 | ||
9 | 0 secunde | OK. | 10 | 10 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema fazan 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ă.