Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int zwrotna(int R[100][100],int n)
- {
- int i;
- for (i=0; i<n; i++)
- if (R[i][i] == 0) return 0;
- return 1;
- }
- int przeciwzwrotna(int R[100][100],int n)
- {
- for (int i=0; i<n; i++)
- if (R[i][i]) return 0;
- return 1;
- }
- int symetryczna(int R[100][100],int n)
- {
- for (int i=0; i<n-1; i++)
- for (int j=i+1; j<n; j++)
- if (R[i][j] != R[j][i]) return 0;
- return 1;
- }
- int antysymetryczna(int R[100][100],int n)
- {
- for (int i=0; i<n-1; i++)
- for (int j=i+1; j<n; j++)
- if (R[i][j] && R[j][i]) return 0;
- return 1;
- }
- int przechodnia(int R[100][100], int n)
- {
- int B[100][100];
- for (int i=0; i<n; i++)
- for (int j=0; j<n; j++)
- {
- B[i][j] = 0;
- for (int k=0; k<n; k++)
- B[i][j] = B[i][j] || (R[i][k]&&R[k][j]);
- }
- for (int i=0; i<n; i++)
- for (int j=0; j<n; j++)
- if (R[i][j] <B[i][j]) return 0;
- return 1;
- }
- int spojna(int R[100][100],int n)
- {
- for (int i=0; i<n-1; i++)
- for (int j=i+1; j<n; j++)
- if (!(R[i][j] || R[j][i])) return 0;
- return 1;
- }
- int main() {
- int tab[100][100], a, b, max=0, x=0;
- for (int i=0; i<100; i++)
- for (int j=0; j<100; j++)
- tab[i][j] = 0;
- while (cin >> a >> b)
- {
- tab[a][b] = 1;
- if (a > max) max=a;
- if (b > max) max=b;
- }
- max++;
- if (zwrotna(tab,max)) {cout<<"Z "; x=1;}
- if (przeciwzwrotna(tab,max)) {cout<< "PZ "; x=1;}
- if (symetryczna(tab,max)) {cout<< "S "; x=1;}
- if (antysymetryczna(tab,max)) {cout<< "AS "; x=1;}
- if (przechodnia(tab,max)) {cout<< "P "; x=1;}
- if (spojna(tab,max)) {cout<< "SP "; x=1;}
- if (!x) {cout<< "X"; return 0;}
- cout<< endl;
- x = 0;
- if (zwrotna(tab,max) && symetryczna(tab,max) && przechodnia(tab,max)) {cout<< "RR "; x=1;}
- if (zwrotna(tab,max) && przechodnia(tab,max) && antysymetryczna(tab,max) && spojna(tab,max)) {cout<< "RPL"; x=1;}
- else if (zwrotna(tab,max) && przechodnia(tab,max) && antysymetryczna(tab,max)) {cout<< "RPCz"; x=1;}
- if (!x) {cout<< "X"; return 0;}
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement