Sicily 4835. Numbersrebmun

2012年每周一赛第四题,水题,我唯一的AC题,差距还是太大了……

没什么好说的,模拟手机键盘,然后慢慢对比就可以了。

Run Time: 0sec

Run Memory: 304KB

Code Length: 1081Bytes

Submit Time: 2012-02-26 00:06:33

// Problem#: 4835
// Submission#: 1220223
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <cstdio>
#include <cstring>
#include <map>
using namespace std;

void upper( char s[] ) {
    for ( int i = 0; s[ i ] != '\0'; i++ ) {
        if ( s[ i ] >= 'a' && s[ i ] <= 'z' )
            s[ i ] -= 32;
    }
}

int main()
{
    int n;
    char s[ 21 ];
    map<char, int> keypad;
    int i, j;

    keypad[ 'A' ] = keypad[ 'B' ] = keypad[ 'C' ] = 2;
    keypad[ 'D' ] = keypad[ 'E' ] = keypad[ 'F' ] = 3;
    keypad[ 'G' ] = keypad[ 'H' ] = keypad[ 'I' ] = 4;
    keypad[ 'J' ] = keypad[ 'K' ] = keypad[ 'L' ] = 5;
    keypad[ 'M' ] = keypad[ 'N' ] = keypad[ 'O' ] = 6;
    keypad[ 'P' ] = keypad[ 'Q' ] = keypad[ 'R' ] = keypad[ 'S' ] = 7;
    keypad[ 'T' ] = keypad[ 'U' ] = keypad[ 'V' ] = 8;
    keypad[ 'W' ] = keypad[ 'X' ] = keypad[ 'Y' ] = keypad[ 'Z' ] = 9;

    scanf( "%d", &n );
    while ( n-- ) {
       scanf( "%s", s );
       upper( s );
       for ( i = 0, j = strlen( s ) - 1; i < j; i++, j-- ) {
           if ( keypad[ s[ i ] ] != keypad[ s[ j ] ] )
               break;
       }
       printf( i < j ? "NO\n": "YES\n" );
    }

    return 0;

}                                 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值