お元気さまです。わくワークの義(ヨシ)です。
プログラミングスキルアップのために、paizaラーニングで、問題を解いています。
練習問題は、次のリンクから見ることができます。
向いている方向により、移動する方向が変わるという問題設定どおりに条件を整理しました。
工夫すれば、もっとコンパクトなコードが書けるかもしれませんが、思いつきませんでした。
提出したコードは、次のとおりです。
#include <stdio.h>
int main(void){
char str[1000];
int y,x;
char news,lr;
fgets(str, sizeof(str), stdin);
sscanf(str,"%d %d %c",&y,&x,&news);
fgets(str, sizeof(str), stdin);
sscanf(str,"%c",&lr);
switch( news ) {
case 'N':
if( lr=='R'){
x = x + 1;
}
else{
x = x - 1;
}
break;
case 'S':
if( lr=='R'){
x = x - 1;
}
else{
x = x + 1;
}
break;
case 'E':
if( lr=='R'){
y = y + 1;
}
else{
y = y - 1;
}
break;
case 'W':
if( lr=='R'){
y = y - 1;
}
else{
y = y + 1;
}
break;
}
printf("%d %d\n", y,x);
return 0;
}
Aランクへのレベルアップを目指して、続けたいと思います。
それでは、今日もワクワクな一日を!
チャオチャオ!