fork download
  1. #include<iostream>
  2. #include<vector>
  3. #include<algorithm>
  4. using namespace std;
  5. int main()
  6. {
  7. int t;
  8. cin>>t;
  9. while(t--)
  10. {
  11. bool hor=0;
  12. int n;
  13. cin>>n;
  14. vector<string>a(2);
  15. cin>>a[0];
  16. cin>>a[1];
  17. int c=0;
  18. int cn1=0,cn2=0;
  19. cn1=count(a[0].begin(),a[0].end(),'*');
  20. cn2=count(a[1].begin(),a[1].end(),'*');
  21. if(cn1==0)
  22. {
  23. bool flag=0;
  24. for(int i=0;i<n;i++)
  25. {
  26. if(a[1][i]=='*'&&flag==0)
  27. {
  28. flag=1;
  29. }
  30. else if(a[1][i]=='*'&&flag==1)
  31. {
  32. c++;
  33. }
  34. }
  35. cout<<c<<endl;
  36. continue;
  37. }
  38. else if(cn2==0)
  39. {
  40. bool flag=0;
  41. for(int i=0;i<n;i++)
  42. {
  43. if(a[0][i]=='*'&&flag==0)
  44. {
  45. flag=1;
  46. }
  47. else if(a[0][i]=='*'&&flag==1)
  48. {
  49. c++;
  50. }
  51. }
  52. cout<<c<<endl;
  53. continue;
  54. }
  55. else
  56. {
  57. bool flag=0;
  58. int m=-1,t=-1;
  59. for(int i=0;i<n;i++)
  60. {
  61. if(a[0][i]=='*'&&m==-1)
  62. {
  63. if(t==-1)
  64. {
  65. m=i;
  66. continue;
  67. }
  68. }
  69. if(a[1][i]=='*'&&t==-1)
  70. {
  71. if(m==-1)
  72. {
  73. t=i;
  74. continue;
  75. }
  76. }
  77. if((m>t)&&a[0][i]=='*')
  78. {
  79. c++;
  80. m=i;
  81. if(a[1][i]=='*')
  82. t=i;
  83. continue;
  84. }
  85. if(t>m&&a[0][i]=='*')
  86. {
  87. m=i;
  88. if(a[1][i]=='*')
  89. t=i;
  90. continue;
  91. }
  92. if((m>t)&&a[1][i]=='*')
  93. {
  94. t=i;
  95. continue;
  96. }
  97. if(t>m&&a[1][i]=='*')
  98. {
  99. c++;
  100. t=i;
  101. continue;
  102. }
  103. else if(m==t&&(a[0][i]=='*'||a[1][i]=='*'))
  104. {
  105. c++;
  106. if(a[0][i]=='*')
  107. m=i;
  108. if(a[1][i]=='*')
  109. t=i;
  110. }
  111. }
  112. /*if(flagg==1&&a[1][i]=='*')
  113.   flagg1=1;
  114.   if(flag1==1||flagg1==1)
  115.   c++;
  116.   flag1=0;flagg1=0;*/
  117. cout<<c+1<<endl;
  118. continue;
  119. }
  120. /*else
  121.   {
  122.   bool flag=0;
  123.   int m=-1,t=-1;
  124.   for(int i=0;i<n;i++)
  125.   {
  126.   if(a[0][i]=='*'&&m==-1)
  127.   {
  128.   m=i;
  129.   continue;
  130.   }
  131.   if(a[1][i]=='*'&&t==-1)
  132.   {
  133.   t=i;
  134.   continue;
  135.   }
  136.   if((m>t)&&a[0][i]=='*')
  137.   {
  138.   c++;
  139.   m=i;
  140.   }
  141.   else if(t>m&&a[0][i]=='*')
  142.   {
  143.   m=i;
  144.   continue;
  145.   }
  146.   else if((m>t)&&a[1][i]=='*')
  147.   {
  148.   t=i;
  149.   continue;
  150.   }
  151.   else if(t>m&&a[1][i]=='*')
  152.   {
  153.   c++;
  154.   t=i;
  155.   }
  156.   }
  157.   if(flagg==1&&a[1][i]=='*')
  158.   flagg1=1;
  159.   if(flag1==1||flagg1==1)
  160.   c++;
  161.   flag1=0;flagg1=0;
  162.   cout<<c+1<<endl;
  163.   continue;*/
  164. }
  165. }
Success #stdin #stdout 0s 15240KB
stdin
1
7
*..*..*
.*..*.*
stdout
1