AOJ 0266 - Aka-beko and 40 Thieves
なるべく早く早くって解いたら10分かかりました.
そういうのはAtCoderぐらいしか意識してないです.意識してみることにします.
#include<iostream> int main(){ char map[26][2]; map[0][0] = 'x'; map[0][1] = 'y'; map['x'-'a'][0] = 'u'; map['x'-'a'][1] = 'z'; map['y'-'a'][0] = 'x'; map['y'-'a'][1] = 'u'; map[25][0] = 'w'; map[25][1] = 'b'; map['w'-'a'][0] = 'b'; map['w'-'a'][1] = 'y'; map[1][0] = 'y'; map[1][1] = 'x'; map['u'-'a'][0] = 'u'; map['u'-'a'][1] = 'u'; std::string route; while(std::cin >> route, route != "#"){ char city = 'a'; for(int i=0;i<route.size();i++){ city = map[city-'a'][route[i]-'0']; } std::cout << (city=='b'?"Yes":"No") << std::endl; } }