難しいどころじゃなかったです。初見じゃ絶対無理でした。ランクレベルアップセットが少しずつ解いていく形式だからこそ。
学習効果~!

<?php
// 自分の得意な言語で
// Let's チャレンジ!!
/*
・ 1 行目には盤面の行数を表す整数 H , 盤面の列数を表す整数 W , 現在の y, x 座標を表す sy sx , 移動する回数 N が与えられます。
・ 続く H 行のうち i 行目 (0 ≦ i < H) には、盤面の i 行目の文字をまとめた文字列 S_i が与えられ、 S_i の j 文字目は、盤面の i 行目の j 列目に書かれている文字を表します。(0 ≦ j < W)
・ 続く N 行のうち i 行目 (1 ≦ i ≦ N) には、i 回目の方向転換の時刻 t_i と向き d_i が与えられます。
*/
//へびははじめ、北を向いています。
//基本情報の取得
$s = trim(fgets(STDIN));
$s = str_replace(array("\r\n","\r","\n"), '', $s);
$s = explode(" ", $s);
//echo "hello = ".$s[0]." , world = ".$s[1]."\n";
$h = $s[0];
$w = $s[1];
$y = $s[2];
$x = $s[3];
$num = $s[4];
$dis="N";//初期
$outbox = false;//reset 範囲外かどうか
//mapの取得
for ($i = 0; $i < $h; $i++) {
$hoge = trim(fgets(STDIN));
for ($j = 0; $j < $w; $j++) {
$map[$i][$j] = mb_substr($hoge,$j,1);
}
}
//print_r($map);
//初期位置を*に
//$map[$y][$x] = "*";
//移動タイムと方向の取得
for ($i = 0; $i < $num; $i++) {
//echo($i."かいめ"."\n");
$t = trim(fgets(STDIN));
$t = str_replace(array("\r\n","\r","\n"), '', $t);
$t = explode(" ", $t);
$rotate_times[] = $t[0];
$rotates[] = $t[1];
// echo "rotate_time = ".$rotate_time." , rotate = ".$rotate."\n";
}
//print_r($rotate_times);
//print_r($rotates);
for ($i = 0; $i < 100; $i++) {
$foo = $rotate_times[0];
if($i == $foo){//方向を変えるtimeだったら
//echo(" まがるたいむ"."\n");
$rotate = array_shift($rotates);//1つとりだしてけす
//方向を変える
if($rotate == "L"){
$dis = rotate_l($dis);
}else{
$dis = rotate_r($dis);
}
//echo("dis変更後 ".$dis."\n");
array_shift($rotate_times);////1つけす
}else{
//echo(" まがるたいむじゃない"."\n");
}
//マス数移動
//for ($j = 0; $j < $masu; $j++) {
if($dis=="N"){
if($y>0 && $map[$y-1][$x]=="."){
$y--;
$map[$y][$x] = "*";
}else{
$outbox = true;
//break ;
}
}elseif($dis=="E"){
if($x < $w && $map[$y][$x+1]=="."){
$x++;
$map[$y][$x] = "*";
}else{
$outbox = true;
//break ;
}
}elseif($dis=="S"){
if($y < $h && $map[$y+1][$x]=="."){
$y++;
$map[$y][$x] = "*";
}else{
$outbox = true;
//break ;
}
}elseif($dis=="W"){
if($x > 0 && $map[$y][$x-1]=="."){
$x--;
$map[$y][$x] = "*";
}else{
$outbox = true;
//break ;
}
}else{
echo("予想外");
}
//}
if($outbox==true){
//echo("outbox true, please break"."\n");
}
//出力
if($outbox == false){
echo($y." ".$x."\n");
}else{
//echo($y." ".$x."\n");
echo("Stop"."\n");
break;
}
}//end for i
//出力
/*
for($i=0; $i<$h; $i++){
for($j=0; $j<$w; $j++){
echo($map[$i][$j]);
}
echo("\n");
}
*/
//関数
function rotate_l($dis){
if($dis=="N"){
$dis="W";
}elseif($dis=="W"){
$dis="S";
}elseif($dis=="S"){
$dis="E";
}elseif($dis=="E"){
$dis="N";
}
return($dis);
}
function rotate_r($dis){
if($dis=="N"){
$dis="E";
}elseif($dis=="E"){
$dis="S";
}elseif($dis=="S"){
$dis="W";
}elseif($dis=="W"){
$dis="N";
}
return($dis);
}
?>

あとで利用するかもしれないので、未使用の変数いくつかとfor文がひとつ、わざとコメントアウトして残してあります。したがって構造が読みにくいかもしれません。ご注意ください。なんとなくのご参考までに。
曲がるタイムと方向を配列に入れ、それをひとつ取り出して使っては消し、常に配列0番目を利用する形です。キーとvalueにした方がよかったのでしょうが、ちょっと面倒で配列を2つにしてしまいました。
そしてなぜタイトルが「へび」なのかやっと分かってきました。

なお、
『例によって、君もしくは君のメンバーがphp言語を選択し、あるいはハテナになったとしても、phpは以下の通りだからそのつもりで』
健闘を祈る
0