fork download
  1. k,y,x,h;f(v,l)char**v;{
  2. k=y=x=h=0; //these are here because they are global variables and they change through tests
  3. h=strlen(*v);x=strcspn(*v,"S");while(y<l&x<h)if(v[y][x]==69)return 0;else if(v[y][x+1]^61)x++;else{if(v[y+1][x]==61)while(k<4)if(v[y+1][x-++k]^61){x-=k;break;}y++;}return 1;}
  4.  
  5. main(){
  6. char*v1[]={
  7. "S=",
  8. " =",
  9. "==",
  10. " =",
  11. "E="};
  12. printf("1 %s\n",f(v1,5)==0?"ye":"nu");
  13. char*v2[]={
  14. "S= =",
  15. " = = =",
  16. " = = =",
  17. " =E="};
  18. printf("2 %s\n",f(v2,4)==0?"ye":"nu");
  19. char*v3[]={
  20. " = = =S=",
  21. " = = = =",
  22. " =",
  23. " = = = ==",
  24. "E= = = =="};
  25. printf("3 %s\n",f(v3,5)==0?"ye":"nu");
  26. char*v4[]={
  27. "S= ",
  28. " ==",
  29. " ",
  30. " ==",
  31. "E= "};
  32. printf("4 %s\n",f(v4,5)==0?"ye":"nu");
  33. char*v5[]={
  34. " S=",
  35. "E======"};
  36. printf("5 %s\n",f(v5,2)==0?"ye":"nu");
  37. char*v6[]={
  38. " S= ",
  39. "======",
  40. " =",
  41. " =",
  42. " E===="};
  43. printf("6 %s\n",f(v6,6)==0?"ye":"nu");
  44. char*v7[]={
  45. "S= ==",
  46. " =",
  47. " E="};
  48. printf("7 %s\n",f(v7,3)==0?"ye":"nu");
  49. }
Success #stdin #stdout 0s 2156KB
stdin
Standard input is empty
stdout
1 ye
2 nu
3 nu
4 nu
5 nu
6 ye
7 ye