fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main(){
  5. int t,i;
  6. cin>>t;
  7. for(i=0;i<t;i++){
  8. long int n;
  9. cin>>n;
  10. string s_u,s_d;
  11. cin>>s_u>>s_d;
  12. long int j;
  13. int k_u=0,k_d=0;
  14. int u=0,d=0;
  15. for(j=0;j<n;j++){
  16. if(s_u[j] == '*' && s_d[j] == '*'){
  17. u=1;
  18. d=1;
  19. k_u=1;
  20. k_d=1;
  21. break;
  22. }
  23. if(s_u[j] == '*' && s_d[j] != '*'){
  24. u=1;
  25. k_u=1;
  26. break;
  27. }
  28. if(s_u[j] != '*' && s_d[j] == '*'){
  29. d=1;
  30. k_d=1;
  31. break;
  32. }
  33. }
  34. j+=1;
  35. long int count=0;
  36. while(j<n){
  37. if(s_u[j] == '*' && s_d[j] == '*'){
  38. if(u==1 || d==1)
  39. count++;
  40. k_u=1;
  41. k_d=1;
  42. u=1;
  43. d=1;
  44. }
  45. if(s_u[j]== '*' && s_d[j] != '*'){
  46. if(u==1)
  47. count++;
  48. k_u=1;
  49. u=1;
  50. d=0;
  51. }
  52. if(s_u[j] != '*' && s_d[j] == '*'){
  53. if(d==1)
  54. count++;
  55. k_d=1;
  56. u=0;
  57. d=1;
  58. }
  59. j++;
  60. }
  61. if(k_u == 1 && k_d == 1)
  62. cout<<count+k_u<<endl;
  63. else
  64. cout<<count<<endl;
  65. }
  66. return 0;
  67. }
Success #stdin #stdout 0s 15240KB
stdin
1
5
*.*.*
.*.*.
stdout
1