お元気さまです。わくワークの義(ヨシ)です。
プログラミングスキルのレベルアップしたいので、paizaラーニングで練習問題を解いています。
練習問題は、次のリンクで確認できます。
前にやった問題に似ており、今回は簡単に感じました。
提出したコードは次のとおりです。
#include <stdio.h>
#include <string.h>
int main(void){
char str[1000];
char buf[21][22];
int h,w,sy,sx,i;
char d,m;
fgets(str, sizeof(str), stdin);
sscanf(str,"%d %d %d %d %c %c",&h,&w,&sy,&sx,&d,&m);
for(i=0;i<h;i++){
fgets(str, sizeof(str), stdin);
sscanf(str,"%s",buf[i]);
}
if( m=='R'){
switch(d){
case 'N':
sx++;
break;
case 'E':
sy++;
break;
case 'S':
sx--;
break;
case 'W':
sy--;
break;
}
}
else {
switch(d){
case 'N':
sx--;
break;
case 'E':
sy--;
break;
case 'S':
sx++;
break;
case 'W':
sy++;
break;
}
}
if( sx<0 || sx==w || sy<0 || sy==h || buf[sy][sx]=='#')
printf("%s", "No");
else printf("%s", "Yes");
return 0;
}
それでは、今日もワクワクな一日を!
チャオチャオ!