Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.62 KB | None | 0 0
  1. #pragma warning(disable:4786)
  2. #include<iostream>
  3. #include<cstdio>
  4. #include<algorithm>
  5. #include<vector>
  6. #include<set>
  7. #include<map>
  8. #include<functional>
  9. #include<string>
  10. #include<cstring>
  11. #include<cstdlib>
  12. #include<queue>
  13. #include<utility>
  14. #include<fstream>
  15. #include<sstream>
  16. #include<cmath>
  17. #include<stack>
  18. #include<cstdio>
  19. #include <ctime>
  20.  
  21.  
  22. using namespace std;
  23.  
  24. #define MEM(a,b) memset(a,(b),sizeof(a))
  25. #define MAX(a,b) ((a) > (b) ? (a) : (b))
  26. #define MIN(a,b)  ((a) < (b) ? (a) : (b))
  27. #define istr(S) istringstream sin(S)
  28. #define MP make_pair
  29. #define pb push_back
  30. #define inf 10000
  31. #define MAXN 1000000
  32.  
  33. //typedef long long  LL;
  34. //typedef __int64 LL;
  35.  
  36. typedef pair<int,int> pi;
  37. typedef vector<int> vi;
  38. typedef vector<string> vs;
  39. typedef vector<double> vd;
  40. typedef vector<pi> vpi;
  41.  
  42. int R,C;
  43. char A[3005],B[3005];
  44. //short best1[2][3005];
  45. //short best2[3005][3005];
  46.  
  47.  
  48. int main()
  49. {
  50.     int i,j,tests,cs=0;
  51.  
  52.     scanf("%d",&tests);
  53.     while(tests--)
  54.     {
  55.         scanf("%d%s",&R,A);
  56.         scanf("%d%s",&C,B);
  57.  
  58.         int ans1 = 0;
  59.         int ans2,u1=0,v1=0,u,v;
  60.         for(i=0;A[i];i++)
  61.             if(A[i]=='1')
  62.                 u1++;
  63.         for(i=0;B[i];i++)
  64.             if(B[i]=='1')
  65.                 v1++;
  66.         ans1 = (u1+v1-1)*(u1>0 && v1>0);
  67.        
  68.         i=j=0;
  69.         while(i<R && A[i]=='1')
  70.             i++;
  71.         while(j<C && B[j]=='1')
  72.             j++;
  73.         u=i,v=j;
  74.         ans2 = MIN(u,v);
  75.  
  76.         i=R-1,j=C-1;
  77.         int uu=0,vv=0;
  78.         while(i>u && A[i]=='1')
  79.             i--,uu++;
  80.         while(j>v && B[j]=='1')
  81.             j--,vv++;
  82.    
  83.         if(u==R && v==C)
  84.             ans2 = R+C-1;
  85.         else if(u==R)
  86.             ans2 = v1;
  87.         else if(v==C)
  88.             ans2 = u1;
  89.         else
  90.             ans2+=MIN(uu,vv);
  91.         printf("%d %d\n",ans1,ans2);
  92.        
  93.     }
  94.  
  95.  
  96.     return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement