Advertisement
lmarioza

b

Sep 3rd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define F first
  3. #define S second
  4. #define mp make_pair
  5. #define pb push_back
  6. #define INF 0x3f3f3f3f
  7. #define LINF 0x3f3f3f3f3f3f3f3fLL
  8.  
  9. using namespace std;
  10. typedef long long ll;
  11. typedef vector<int> vi;
  12. typedef set<int> si;
  13. typedef pair<int,int> ii;
  14. typedef vector<ii> vii;
  15. typedef map<string,int> msi;
  16. typedef map<int,int> mi;
  17.  
  18. int n1,n2,d;
  19.  
  20. vi grafo[100010];
  21. int vis[100010];
  22. int pd[100010];
  23.  
  24. int dfs(int pai){
  25.     if(pd[pai]!= -1) return pd[pai];
  26.     int cont=0;
  27.     for(int i =0;i<grafo[pai].size();i++){
  28.         int filho = grafo[pai][i];
  29.         //if(!vis[filho]){
  30.             int x= dfs(filho);
  31.             if((pai < n1 && filho>=n1) || (filho < n1 && pai>=n1)) x+=1;
  32.             cont = max(x,cont);
  33.         //}
  34.     }
  35.     return pd[pai]=cont;
  36. }
  37.  
  38. int main(){
  39.     while(cin >>n1>>n2>>d && n1){
  40.         for(int i =0;i<n1+n2;i++){
  41.             grafo[i].clear();
  42.         }
  43.         while(d--){
  44.             int x,y;
  45.             cin >>x >>y;
  46.             x--;
  47.             y--;
  48.             grafo[y].pb(x);
  49.         }
  50.         memset(vis,0,sizeof vis);
  51.         int cont1 =0;
  52.         memset(pd,-1,sizeof pd);
  53.         for(int i =0;i<n1;i++){
  54.             if(!vis[i])
  55.                 cont1= max(dfs(i),cont1);
  56.         }
  57.         int cont2 =0;
  58.         for(int i =n1;i<n1+n2;i++){
  59.             if(!vis[i])
  60.                 cont2 = max(cont2,dfs(i));
  61.         }
  62.         cont1 = min(cont1,cont2)+3;
  63.         //if(cont1 >(n1+n2)/2)cont1--;
  64.         cout  <<cont1 <<'\n';
  65.     }
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement