fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. char s1[200001],s2[200001];
  4. int t,l,i,current,skips1,skips2;
  5. int main(){
  6. scanf("%d",&t);
  7. while (t--){
  8. scanf("%s%s",s1,s2);
  9. l=strlen(s1);
  10. for (i=0;i<l;i++) if (s1[i]=='#'&&s2[i]=='#') break;
  11. if (i<l) printf("No\n");
  12. else{
  13. if (s1[0]=='.'&&s2[0]=='.'){
  14. skips1=count(1);
  15. skips2=count(2);
  16. if (skips1<skips2) printf("Yes\n%d\n",skips1);
  17. else printf("Yes\n%d\n",skips2);
  18. }
  19. else if (s1[0]=='.') printf("Yes\n%d\n",count(1));
  20. else printf("Yes\n%d\n",count(2));
  21. }
  22. }
  23. return 0;
  24. }
  25.  
  26. int count(int current){
  27. int skips=0;
  28. int i=0;
  29. while (1){
  30. if (current==1){
  31. while (s1[i]=='.') i++;
  32. if (i==l) break;
  33. skips++;
  34. current=2;
  35. }
  36. else{
  37. while (s2[i]=='.') i++;
  38. if (i==l) break;
  39. skips++;
  40. current=1;
  41. }
  42. }
  43. return skips;
  44. }
Success #stdin #stdout 0s 2552KB
stdin
3
#...#
.###.
#.#.#.
.#.#.#
#...
#...
stdout
Yes
2
Yes
5
No