<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aランクレベルアップメニュー - IQパズルステップ</title>
	<atom:link href="https://chokomon.com/tag/a_rank_up/feed/" rel="self" type="application/rss+xml" />
	<link>https://chokomon.com</link>
	<description>ちょこっと頭を良くするIQパズル問題集</description>
	<lastBuildDate>Sat, 06 Aug 2022 02:25:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://chokomon.com/wp-content/uploads/2022/02/cropped-icon512-32x32.png</url>
	<title>Aランクレベルアップメニュー - IQパズルステップ</title>
	<link>https://chokomon.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Aランクレベルアップメニュー】へび (paizaランク A)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-07-00527/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-07-00527/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 06 Aug 2022 02:25:13 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクA]]></category>
		<category><![CDATA[難易度-1900]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6049</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> FINAL問題 へび (paizaランク A 相当) [難易度: 1929 ±13] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_boss" target="_blank" rel="noreferrer noopener">FINAL問題 へび (paizaランク A 相当)</a> [難易度: <strong>1929 ±13</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img fetchpriority="high" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-07-01.png" alt="" class="wp-image-6050"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>マップ上をへびが移動していきます。<br>マップの行数 H と列数 W ,障害物を '#' で移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H , 現在の座標 sy , sx , 方向転換の回数 N が与えられます。<br>続けて N 回の方向転換をおこなう時刻 t_1 ... t_N, 転換する向き d_1 ... d_N が与えられます。</p>



<p>へびははじめは北を向いています。</p>



<p>へびは進む先のマスに自分の身体や障害物がない時に移動ができます。<br>時刻 0 から 99 までの間、へびは各時刻に次の行動を最大 100 回繰り返します。</p>



<p>・ 方向転換をおこなう時刻の場合、指定の向きに方向転換したのち １ マス身体を伸ばす。そうでない時は、今向いている方向に １ マス身体を伸ばす。</p>



<p>時刻が 99 の時の行動を終えるか、移動できなくなった時、移動を終了します。<br>移動終了時にへびの体のあるマスを '*' にしたマップを出力してください。</p>



<p>移動が可能であるということは、<br>「移動先のマスに自分の身体や障害物がない かつ 移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5 5 3 1 3<br>.....<br>.....<br>.....<br>.....<br>.....<br>2 R<br>4 R<br>6 R</p>



<p><strong>出力値（例）</strong><br>.....<br>.***.<br>.*.*.<br>.***.<br>.....</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $y, $x, $n) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $s[] = trim(fgets(STDIN));
    }
    
    $dx = [1, 0, -1, 0];
    $dy = [0, 1, 0, -1];
    
    for ($i = 0, $r = 3, $k = 0; $i &lt; $n; $i++) {
        list($t, $d) = explode(" ", trim(fgets(STDIN)));
        
        for (; $k &lt; $t; $k++) {
            $s[$y][$x] = "*";
            $nx = $x + $dx[$r];
            $ny = $y + $dy[$r];
            
            if ($s[$ny][$nx] == "." and ($ny != -1 and $nx != -1) and $s[$ny][$nx] != "*") {
                $x = $nx;
                $y = $ny;
                $s[$y][$x] = "*";
                
            } else {
                for ($j = 0; $j &lt; $h; $j++) {
                    echo $s[$j]. "\n";
                }
                exit;
            }
        }

        if ($d == "L") {
            $r = ($r + 3) % 4;
            
        } elseif ($d == "R") {
            $r = ($r + 1) % 4;
        }
    }
    
    for (; $k &lt; 100; $k++) {
        $s[$y][$x] = "*";
        $nx = $x + $dx[$r];
        $ny = $y + $dy[$r];
        
        if ($s[$ny][$nx] == "." and ($ny != -1 and $nx != -1) and $s[$ny][$nx] != "*") {
            $x = $nx;
            $y = $ny;
            $s[$y][$x] = "*";
            
        } else {
            for ($j = 0; $j &lt; $h; $j++) {
                echo $s[$j]. "\n";
            }
            exit;
        }
    }
    
    for ($j = 0; $j &lt; $h; $j++) {
        echo $s[$j]. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="280" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-07-02.png" alt="" class="wp-image-6051"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-07-00527/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】時刻に伴う移動 (paizaランク A)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-06-00526/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-06-00526/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Fri, 05 Aug 2022 13:41:28 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクA]]></category>
		<category><![CDATA[難易度-1700]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6037</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【へび】STEP: 6 時刻に伴う移動 (paizaランク A 相当) [難易度: 1777 ±14] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_step6" target="_blank" rel="noreferrer noopener">【へび】STEP: 6 時刻に伴う移動 (paizaランク A 相当)</a> [難易度: <strong>1777 ±14</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-06-01.png" alt="" class="wp-image-6040"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>へびがマップ上を移動していきます。<br>マップの行数 H と列数 W , 障害物を '#' で移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H , 現在の座標 sy , sx , 方向転換の回数 N が与えられます。<br>続けて N 回の方向転換する時刻 t_1 ... t_N , 転換する向き d_1 ... d_N が与えられます。</p>



<p>へびははじめ、北を向いています。</p>



<p>時刻 0 から 99 までの間、へびは各時刻に次の行動を最大 100 回とります。</p>



<p>・ 方向転換をおこなう時刻の場合、指定の向きに方向転換したのち 1 マス身体を伸ばす。<br>・ そうでない時は移動が可能な場合に限り、今向いている方向に 1 マス身体を伸ばす。</p>



<p>各移動が可能であるということは、<br>「移動先のマスに障害物がない かつ 移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>各移動が可能である場合、各移動が終了した時の y , x 座標を出力してください。<br>移動が可能でない場合、"Stop" を出力して以降の移動を打ち切ってください。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>10 10 5 5 22<br>........#.<br>..........<br>..........<br>..........<br>#.........<br>..........<br>..........<br>........#.<br>..........<br>..........<br>0 L<br>3 R<br>4 L<br>7 L<br>10 R<br>12 R<br>21 L<br>24 L<br>26 R<br>28 R<br>35 L<br>36 R<br>41 R<br>44 R<br>62 L<br>63 L<br>72 L<br>81 L<br>85 R<br>90 R<br>92 R<br>98 R</p>



<p><strong>出力値（例）</strong><br>5 4<br>5 3<br>5 2<br>4 2<br>4 1<br>Stop</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $y, $x, $n) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $s[] = trim(fgets(STDIN));
    }
    
    $dx = [1, 0, -1, 0];
    $dy = [0, 1, 0, -1];
    
    for ($i = 0, $r = 3, $k = 0; $i &lt; $n; $i++) {
        list($t, $d) = explode(" ", trim(fgets(STDIN)));
        
        for (; $k &lt; $t; $k++) {
            $nx = $x + $dx[$r];
            $ny = $y + $dy[$r];
            
            if ($s[$ny][$nx] == "." and ($ny != -1 and $nx != -1)) {
                $x = $nx;
                $y = $ny;
                echo sprintf("%d %d\n", $y, $x);
                
            } else {
                echo "Stop";
                exit;
            }
        }

        if ($d == "L") {
            $r = ($r + 3) % 4;
            
        } elseif ($d == "R") {
            $r = ($r + 1) % 4;
        }
    }
    
    for (; $k &lt; 100; $k++) {
        $nx = $x + $dx[$r];
        $ny = $y + $dy[$r];
        
        if ($s[$ny][$nx] == "." and ($ny != -1 and $nx != -1)) {
            $x = $nx;
            $y = $ny;
            echo sprintf("%d %d\n", $y, $x);
            
        } else {
            echo "Stop";
            exit;
        }
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="280" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-06-02.png" alt="" class="wp-image-6039"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-06-00526/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】幅のある移動 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-05-00519/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-05-00519/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 22:58:14 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5997</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【へび】STEP: 5 幅のある移動 (paizaランク B 相当) [難易度: 1630 ±13] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_step5" target="_blank" rel="noreferrer noopener">【へび】STEP: 5 幅のある移動 (paizaランク B 相当)</a> [難易度: <strong>1630 ±13</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-05-01.png" alt="" class="wp-image-5998"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>マップの行数 H と列数 W , 障害物を '#' で移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H , 現在の座標 sy , sx , 移動の回数 N が与えられます。<br>続けて N 回の移動の向き d_1 ... d_N と移動するマス数 l_1...l_N が与えられます。</p>



<p>はじめは北を向いています。</p>



<p>各移動が可能である場合、スタート位置を含む移動の際に通ったマップのマスを '*' に変更してください。<br>移動が可能でない場合、障害物やマップの端までできる限り移動をして通ったマップのマスを '*' に変更したのち、以降の移動を打ち切ってください。</p>



<p>移動が終了した時のマップを出力してください。</p>



<p>移動可能であるということは、以下の図の通り<br>「今いるマスから移動先のマスまでに障害物がない かつ 移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>10 10 4 5 3<br>.......#..<br>..........<br>..........<br>#.........<br>..........<br>......#...<br>..........<br>....#.....<br>...#......<br>..........<br>L 3<br>R 1<br>R 3</p>



<p><strong>出力値（例）</strong><br>.......#..<br>..........<br>..........<br>#.****....<br>..****....<br>......#...<br>..........<br>....#.....<br>...#......<br>..........</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $y, $x, $n) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $s[] = trim(fgets(STDIN));
    }
    
    $dx = [1, 0, -1, 0];
    $dy = [0, 1, 0, -1];
    
    for ($i = 0, $r = 3; $i &lt; $n; $i++) {
        list($d, $l) = explode(" ", trim(fgets(STDIN)));
        
        if ($d == "L") {
            $r = ($r + 3) % 4;
            
        } elseif ($d == "R") {
            $r = ($r + 1) % 4;
        }
        
        for ($j = 0; $j &lt; $l; $j++) {
            $s[$y][$x] = "*";
            
            $nx = $x + $dx[$r];
            $ny = $y + $dy[$r];
            
            if ($s[$ny][$nx] == "." and ($ny != -1 and $nx != -1)) {
                $x = $nx;
                $y = $ny;
                    
            } else {
                for ($k = 0; $k &lt; $h; $k++) {
                    echo $s[$k]. "\n";
                }
                exit;
            }
        }
    }
    $s[$y][$x] = "*";
    
    for ($i = 0; $i &lt; $h; $i++) {
        echo $s[$i]. "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="400" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-05-02.png" alt="" class="wp-image-5999"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-05-00519/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】移動が可能かの判定・幅のある移動 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-04-0518/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-04-0518/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Tue, 02 Aug 2022 22:54:01 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1700]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5990</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【へび】STEP: 4 移動が可能かの判定・幅のある移動岐 (paizaランク B 相当) [難易度: 1755 ±13] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a rel="noreferrer noopener" href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_step4" target="_blank">【へび】STEP: 4 移動が可能かの判定・幅のある移動岐 (paizaランク B 相当)</a> [難易度: <strong>1755 ±13</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-04-01.png" alt="" class="wp-image-5991"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>マップの行数 H と列数 W , 障害物を '#' で移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H , 現在の座標 sy, sx, 移動の回数 N が与えられます。<br>続けて、 N 回の移動の向き d_1 ... d_N と移動するマス数 l_1 ... l_N が与えられます。</p>



<p>プレイヤーははじめ北を向いています。</p>



<p>各移動が可能である場合、移動後の y , x 座標 を出力してください。<br>移動が可能でない場合(移動しきれない場合)、移動できるところまで移動した後の座標を出力した後に "Stop" を出力して、以降の移動を打ち切ってください。</p>



<p>各移動が可能であるということは、以下の図の通り<br>「今いるマスから移動先のマスまでに障害物がない　かつ　移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>10 10 6 4 3<br>..#.....#.<br>..........<br>##.#......<br>#.##....#.<br>.##.#.....<br>........#.<br>.#......#.<br>.#........<br>...#......<br>#.#.......<br>L 2<br>R 1<br>L 4</p>



<p><strong>出力値（例）</strong><br>6 2<br>5 2<br>5 0<br>Stop</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $y, $x, $n) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $s[] = trim(fgets(STDIN));
    }
    
    $dx = [1, 0, -1, 0];
    $dy = [0, 1, 0, -1];
    
    for ($i = 0, $r = 3; $i &lt; $n; $i++) {
        list($d, $l) = explode(" ", trim(fgets(STDIN)));

        if ($d == "L") {
            $r = ($r + 3) % 4;
            
        } elseif ($d == "R") {
            $r = ($r + 1) % 4;
        }
        
        for ($j = 0; $j &lt; $l; $j++) {
            $nx = $x + $dx[$r];
            $ny = $y + $dy[$r];
            
            if ($s[$ny][$nx] == "." and ($ny != -1 and $nx != -1)) {
                    $x = $nx;
                    $y = $ny;
                    
            } else {
                echo sprintf("%d %d\n", $y, $x);
                echo "Stop";
                exit;
            }
        }                
                            
        echo sprintf("%d %d\n", $y, $x);
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="240" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-04-02.png" alt="" class="wp-image-5992"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-04-0518/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】移動が可能かの判定・複数回の移動 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-03-00517/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-03-00517/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Tue, 02 Aug 2022 04:21:43 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1500]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5984</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【へび】STEP: 3 移動が可能かの判定・複数回の移動 (paizaランク B 相当) [難易度: 1584 ±12] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_step3" target="_blank" rel="noreferrer noopener">【へび】STEP: 3 移動が可能かの判定・複数回の移動 (paizaランク B 相当)</a> [難易度: <strong>1584 ±12</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-03-01.png" alt="" class="wp-image-5985"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>マップの行数 H と列数 W , 現在の座標 sy , sx , 移動の回数 N が与えられます。<br>続けて、障害物を '#' で、移動可能な場所を '.' で表した H 行 W 列 のマップ S_1 ... S_H と N 回の移動の向き d_1 ... d_N が与えられます。</p>



<p>移動者ははじめ北を向いています。移動者は、1 回の移動で次の行動を行います。</p>



<p>「移動の向きに方向転換したのち、1 マス進む。」</p>



<p>各移動が可能である場合、移動後の y , x 座標を出力してください。<br>移動が可能でない場合、移動後の座標を出力する代わりに "Stop" を出力して、以降の移動を打ち切ってください。</p>



<p>各移動が可能であるということは、以下の図の通り<br>「移動先が障害物でない　かつ　移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>7 3 2 1 5<br>..#<br>...<br>...<br>...<br>..#<br>.#.<br>##.<br>L<br>L<br>L<br>L<br>L</p>



<p><strong>出力値（例）</strong><br>2 0<br>3 0<br>3 1<br>2 1<br>2 0</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $y, $x, $n) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $s[] = trim(fgets(STDIN));
    }
    
    $dx = [1, 0, -1, 0];
    $dy = [0, 1, 0, -1];
    
    for ($i = 0, $r = 3; $i &lt; $n; $i++) {
        $d = trim(fgets(STDIN));
        
        if ($d == "L") {
            $r = ($r + 3) % 4;
            $x += $dx[$r];
            $y += $dy[$r];
            
        } elseif ($d == "R") {
            $r = ($r + 1) % 4;
            $x += $dx[$r];
            $y += $dy[$r];
        }
        
        if ($s[$y][$x] == "." and ($y != -1 and $x != -1)) {
            echo sprintf("%d %d\n", $y, $x);
            
        } else {
            echo "Stop";
            break;
        }
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="240" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-03-02.png" alt="" class="wp-image-5986"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-03-00517/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】移動が可能かの判定・方向 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-02-00516/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-02-00516/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Mon, 01 Aug 2022 03:23:25 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1400]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5979</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【へび】STEP: 2 移動が可能かの判定・方向 (paizaランク B 相当) [難易度: 1483 ±11] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_step2" target="_blank" rel="noreferrer noopener">【へび】STEP: 2 移動が可能かの判定・方向 (paizaランク B 相当)</a> [難易度: <strong>1483 ±11</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-02-01.png" alt="" class="wp-image-5980"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>マップの行数 H と列数 W , 障害物を '#' , 移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H が与えられます。<br>続けて現在の座標 sy , sx , 現在向いている方角 d , １マス移動する方向 m が与えられるので、移動が可能かどうかを判定してください。</p>



<p>移動が可能であるということは、以下の図の通り<br>「移動先が障害物でない　かつ　移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>2 6 0 4 E L<br>####..<br>##..#.</p>



<p><strong>出力値（例）</strong><br>No</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $sy, $sx, $d, $m) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $board[] = trim(fgets(STDIN));
    }
    
    $lr = 1;

    if ($m == 'L') {
        $lr = -1;
    }

    if ($d == 'N') {
        $sx += $lr;
    } elseif ($d == 'S') {
        $sx -= $lr;
    } elseif ($d == 'E') {
        $sy += $lr;
    } else {
        $sy -= $lr;
    }
        
    $point = $board[$sy][$sx];
    
    echo ($point == "." and ($sy != -1 and $sx != -1)) ? "Yes" : "No";
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/28-03-02-02.png" alt="" class="wp-image-5981"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-02-00516/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】移動が可能かの判定・方角 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-03-01-00515/</link>
					<comments>https://chokomon.com/28-a_rank_up-03-01-00515/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 30 Jul 2022 16:36:37 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5974</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【へび】STEP: 1 移動が可能かの判定・方角 (paizaランク B 相当) [難易度: 1695 ±10] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_step1" target="_blank" rel="noreferrer noopener">【へび】STEP: 1 移動が可能かの判定・方角 (paizaランク B 相当)</a> [難易度: <strong>1695 ±10</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/07/28-03-01-01.png" alt="" class="wp-image-5975"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>マップの行数 H と列数 W , 障害物を '#' で、移動可能な場所を '.' で表した H 行 W 列のマップ S_1 ... S_H が与えられます。<br>続けて現在の座標 sy , sx ,１マス移動する方角 m が与えられるので、移動が可能かどうかを判定してください。</p>



<p>移動が可能であるということは、以下の図の通り<br>「移動先が障害物でない　かつ　移動先がマップの範囲外でない」<br>ということを意味します。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>3 3 1 1 E<br>..#<br>..#<br>...</p>



<p><strong>出力値（例）</strong><br>No</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($h, $w, $sy, $sx, $m) = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 0; $i &lt; $h; $i++) {
        $board[] = trim(fgets(STDIN));
    }
    
    if ($m == "N") {
        $sy += -1;
    } elseif ($m == "S") {
        $sy += 1;
    } elseif ($m == "E") {
        $sx += 1;
    } elseif ($m == "W") {
        $sx += -1;
    }
    
    $point = $board[$sy][$sx];
    
    echo ($point == "." and ($sy != -1 and $sx != -1)) ? "Yes" : "No";

?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/07/28-03-01-02.png" alt="" class="wp-image-5976"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-03-01-00515/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】座標系での向きの変わる移動 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-02-05-00514/</link>
					<comments>https://chokomon.com/28-a_rank_up-02-05-00514/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 30 Jul 2022 04:45:17 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5965</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> FINAL問題 座標系での向きの変わる移動 (paizaランク B 相当) [難易度: 1673 ±9] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 感想 またpaizaの…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a rel="noreferrer noopener" href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_move_boss" target="_blank">FINAL問題 座標系での向きの変わる移動 (paizaランク B 相当)</a> [難易度: <strong>1673 ±9</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/07/28-02-05-01.png" alt="" class="wp-image-5966"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>開始時点の x , y 座標、移動の回数 N が与えられます。<br>続くN行で移動の向き d1 ... dN が与えられるので、与えられた順に移動をしたときの各移動後の x , y 座標 を答えてください。<br>移動者ははじめ北を向いています。</p>



<p>なお、マスの座標系は下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p>・ 移動をするごとに向く方角が変わること<br>・ 移動前に向いている方角によって同じ移動の向きでも座標の変化が違うこと<br>の 2 点に気をつけてください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>3 5 1<br>L</p>



<p><strong>出力値（例）</strong><br>2 5</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($x, $y, $n) = explode(" ", trim(fgets(STDIN)));
    
    //左,右,上,下
    $dir = [[0, -1], [1, 0], [0, 1], [-1, 0]];
    
    $k = 0;
    
    for ($i = 0; $i &lt; $n; $i++) {
        
        $d = trim(fgets(STDIN));
        
        if ($d == "L") {
            $k += 3;
            $k %= 4;
            
        } else {
            $k += 1;
            $k %= 4;
        }
        
        $x += $dir[$k][0];
        $y += $dir[$k][1];
        
        echo sprintf("%d %d\n", $x, $y);
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/07/28-02-05-02.png" alt="" class="wp-image-5967"/></figure>



<h2 class="wp-block-heading">感想</h2>



<p>またpaizaの森での解答を参考にさせていただきました。一人でスラスラ解けるようになりたいです。(*'ω'*)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-02-05-00514/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】座標系での規則的な移動 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-02-04-00513/</link>
					<comments>https://chokomon.com/28-a_rank_up-02-04-00513/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Thu, 28 Jul 2022 18:00:45 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1800]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5960</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】&#62; 【座標系での向きの変わる移動】STEP: 4 座標系での規則的な移動 (paizaランク B 相当)&#160;[難易度:&#160;1830&#160;±12] ※リンク先へ移動するためには[pa…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】&gt; <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_move_step4" target="_blank" rel="noreferrer noopener">【座標系での向きの変わる移動】STEP: 4 座標系での規則的な移動 (paizaランク B 相当)</a>&nbsp;[難易度:&nbsp;<strong>1830&nbsp;±12</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/07/28-02-04-01.png" alt="" class="wp-image-5961"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>開始時点の x , y 座標と移動の歩数 N が与えられます。<br>以下の図のように時計回りに渦を巻くように移動を N 歩行った後の x , y 座標 を答えてください。</p>



<p>なお、マスの座標系は下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://paiza-learning-mondai.s3.amazonaws.com/a_rank_level_up_problems/a_rank_snake_move_step4/1.jpeg" alt=""/></figure>



<p></p>



<p><strong>入力値（例）</strong><br>0 0 3</p>



<p><strong>出力値（例）</strong><br>0 1</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($x, $y, $n) = explode(" ", trim(fgets(STDIN)));
    
    //右下左上
    $dx = [1, 0, -1, 0];
    $dy = [0, 1, 0, -1];
    
    list($k, $step, $counter) = [0, 1, 0];
    
    while ($n &gt; 0) {
        $x += min($n, $step) * $dx[$k];
        $y += min($n, $step) * $dy[$k];
        $n -= $step;
        $counter++;
        
        if ($counter == 2) {
            $counter = 0;
            $step++;
        }
        $k = ($k + 1) % 4;
    }
    echo sprintf("%d %d\n", $x, $y);
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/07/28-02-04-02.png" alt="" class="wp-image-5962"/></figure>



<h2 class="wp-block-heading">感想</h2>



<p>またまたpaizaの森の解答を参考にさせていただきました。ぐるぐるが難しかったです。(*'ω'*)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-02-04-00513/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Aランクレベルアップメニュー】座標系での移動・向き (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/28-a_rank_up-02-03-00512/</link>
					<comments>https://chokomon.com/28-a_rank_up-02-03-00512/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Thu, 28 Jul 2022 16:30:37 +0000</pubDate>
				<category><![CDATA[Aランクレベルアップメニュー]]></category>
		<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1400]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=5954</guid>

					<description><![CDATA[【Aランクレベルアップメニュー】> 【座標系での向きの変わる移動】STEP: 3 座標系での移動・向き (paizaランク B 相当) [難易度: 1455 ±10] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/28-a_rank_up/">Aランクレベルアップメニュー</a>】> <a href="https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_move_step3" target="_blank" rel="noreferrer noopener">【座標系での向きの変わる移動】STEP: 3 座標系での移動・向き (paizaランク B 相当)</a> [難易度: <strong>1455 ±10</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/07/28-02-03-01.png" alt="" class="wp-image-5955"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>開始時点の y , x 座標 と向いている方角 D が与えられます。<br>続く 1 行で移動の向き d が与えられるので、その向きに移動した後の y , x 座標 を答えてください。<br>移動前に向いている方角によって同じ移動の向きでも座標の変化が違うことに気をつけてください。</p>



<p>なお、マスの座標系は左上端のマスの座標を ( y , x ) = ( 0 , 0 ) とし、<br>下方向が y 座標の正の向き、右方向が x 座標の正の向きとします。</p>



<p></p>



<p><strong>入力値（例）</strong><br>4 2 N<br>R</p>



<p><strong>出力値（例）</strong><br>4 3</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $x, $d) = explode(" ", trim(fgets(STDIN)));
    
    $lr = trim(fgets(STDIN));
    
    if ($d == "N") {
        ($lr == "L") ? $x += -1 : $x += 1;
    } elseif ($d == "S") {
        ($lr == "L") ? $x += 1 : $x += -1;
    } elseif ($d == "E") {
        ($lr == "L") ? $y += -1 : $y += 1;
    } elseif ($d == "W") {
        ($lr == "L") ? $y += 1 : $y += -1;
    }
    echo sprintf("%d %d\n", $y, $x);
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/07/28-02-03-02.png" alt="" class="wp-image-5956"/></figure>



<h2 class="wp-block-heading">感想</h2>



<p>少し冗長になってしまいました。(*'ω'*)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/28-a_rank_up-02-03-00512/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
