usaco Name That Number

为什么要使用如此反人类的输入方式。

/*
ID: modengd1
PROG: namenum
LANG: C++
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    FILE *in = fopen ("namenum.in", "r");
    FILE *in2 = fopen ("dict.txt", "r");
    FILE *out = fopen ("namenum.out","w");
    int nsolutions = 0;
    int numlen;
    char input[20];
    char dict[20];
    char map[256];
    int i, j;
    map['A'] = map['B'] = map['C'] = '2';
    map['D'] = map['E'] = map['F'] = '3';
    map['G'] = map['H'] = map['I'] = '4';
    map['J'] = map['K'] = map['L'] = '5';
    map['M'] = map['N'] = map['O'] = '6';
    map['P'] = map['R'] = map['S'] = '7';
    map['T'] = map['U'] = map['V'] = '8';
    map['W'] = map['X'] = map['Y'] = '9';
    fscanf(in,"%s",input);
    int l1=strlen(input);
    bool finD=false;
    while(~fscanf(in2,"%s",dict))
    {
        int i;
        int l2=strlen(dict);
        if(l1!=l2)
            continue;
        for( i=0;i<l2;i++)
        {
            if(input[i]!=map[dict[i]])
                break;
        }
        if(i==l2)
        {
            fprintf (out, "%s\n", dict);
            finD=true;
        }
    }
    if(!finD)
        fprintf(out,"NONE\n");
    return 0;
}

  

转载于:https://www.cnblogs.com/modengdubai/p/4761551.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值