//em. cerchez 100 puncte #include #define NMax 20 using namespace std; ofstream fout("relatii.out"); ifstream fin("relatii.in"); int N, M; int R[NMax][NMax]; int p[NMax]; void citire(); void afisare(); int verif(); int main() { int i, j, st, dr, aux; citire(); for (i=1; i<=N; i++) p[i]=i; while (1) { if (verif()) break; //generez permutarea urmatoare for (j=N-1; p[j]>p[j+1]; j--); //maresc p[j] for (i=N; p[i]>N>>M; for (i=0; i>c1>>c2>>c3; if (c2=='>') {R[c1-'a'+1][c3-'a'+1]=1; R[c3-'a'+1][c1-'a'+1]=-1;} else { R[c1-'a'+1][c3-'a'+1]=-1; R[c3-'a'+1][c1-'a'+1]=1; } } } void afisare() { int i; for (i=1; i<=N; i++) fout<<(char)(p[i]-1+'a'); fout<<'\n'; fout.close(); } int verif() { int i, j; for (i=1; i