AOJ 0502 - Dice
洗練されていないコード.これではお嫁に行けない.(嫁?)
他の人のコードを見て勉強したいと思います.
この問題でのショートコーディングはできませんでした.
#include <iostream> using namespace std; int main(){ int n; while(cin >> n,n){ //dice = {u,l,r,d,c}; int dice[5] = {5,4,3,2,1}, res = 1; while(n--){ string siji; cin >> siji; int tmp = dice[5]; if(siji == "North"){ dice[5] = dice[3]; dice[0] = tmp; dice[3] = 7 - tmp; } if(siji == "South"){ dice[5] = dice[0]; dice[0] = 7 - tmp; dice[3] = tmp; } if(siji == "East"){ dice[5] = dice[1]; dice[1] = 7 - tmp; dice[2] = tmp; } if(siji == "West"){ dice[5] = dice[2]; dice[1] = tmp; dice[2] = 7 - tmp; } if(siji == "Left"){ tmp = dice[0]; dice[0] = dice[2]; dice[2] = dice[3]; dice[3] = dice[1]; dice[1] = tmp; } if(siji == "Right"){ tmp = dice[0]; dice[0] = dice[1]; dice[1] = dice[3]; dice[3] = dice[2]; dice[2] = tmp; } res += dice[5]; } cout << res << endl; } }