Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int n, st[10], k;
- char cuv[10][7];
- void Init()
- {
- st[k]=-1;
- }
- int Am_Succesor()
- {
- if(cuv[k][st[k]+1]!='\0')
- {
- st[k]++;
- return 1;
- }
- else
- return 0;
- }
- int Valid()
- {
- for(int i=0;i<=k-1;i++)
- if(cuv[i][st[i]]==cuv[k][st[k]])
- return 0;
- return 1;
- }
- int Solutie()
- {
- return k==n-1;
- }
- void Tipar()
- {
- for(int i=0;i<n;i++)
- cout<<cuv[i][st[i]];
- cout<<'\n';
- }
- void back()
- {
- int AS;
- k=0;
- Init();
- while(k>=0)
- {
- do { }while((AS=Am_Succesor()) && (!Valid()));
- if(AS)
- if(Solutie())
- {
- Tipar();
- break;
- }
- else
- {
- k++;
- Init();
- }
- else
- k--;
- }
- }
- int main()
- {
- int i;
- cin>>n;
- cin.get();
- for(i=0;i<n;i++)
- cin>>cuv[i];
- for(i=0; i<n; i++)
- sort(cuv[i], cuv[i]+strlen(cuv[i]));
- back();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement