AOJ_127 Pocket Pager Input
問題
解法
テーブルを作る。
数字を読んで変な数字がないか確認。
文字列出力。で解ける。
コード
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; char i2a[5][7] = { "afkpuz", "bglqv.", "chmrw?", "dinsx!", "ejoty " }; int main(){ char s[300]; char hukugou[300]; int len; char c; while(scanf("%s", s) != EOF){ bool f = false; len = 0; if(strlen(s) % 2 != 0){ f = true; }else{ int p, q; for(int i = 0; i < strlen(s); i+=2){ p = s[i] - '1'; q = s[i + 1] - '1'; if(p > 5 || q > 4 || p == -1 || q == -1){ f = true; break; }else{ hukugou[len] = i2a[q][p]; len++; } } } if(f){ printf("NA\n"); }else{ hukugou[len] = 0; printf("%s\n", hukugou); } scanf("%c", &c); } return 0; }