USACO 1.1.1

   USACO比较好的一点是每道题都给了比较详细的背景叙述,让人感觉像是在解决生活中的实际问题一样。

   由于题目很长,我只描述一下问题的核心:

   给你两个长度最大为6的字符串,字符串中的字符只可能是26个大写英文字母。其中A可以用数字1表示,那么以此类推,Z就可以用26表示了。题目让你求解的是判断两个字符串中各自所有字母代表的数字的乘积再模47的余数是否相同,相同则输出GO,不同则输出STAY.

   例如,字符串“COMETQ”代表的计算式为(3*15*13*5*20*17)%47 = 27;

            字符串“HVNGAT”代表的计算式为(8*22*14*7*1*20)%47 = 27;

            所以当输入以上两个字符时,输出的结果应为GO.

 

   程序描述:

   程序的思路非常简单,唯一的“技巧”可能就在于如何将大写字母转换成相应的数字,可用(ch - 'A' + 1)进行转换,不说了,下面直接上代码。

 

 

  通过与答案对比,发现自己的代码风格不好,如没有检查fin,fout是否为空,而且计算取余的两段代码是一样的,也没放进函数里等等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值