USACO Section 1.1.1 Your Ride Is Here

来源:互联网 发布:java书籍 编辑:程序博客网 时间:2024/05/17 08:46

简单题目,分别将两个字符窜中的字母通过asic码转换为数字,带权加和就可以了,别看简单,但是也有陷阱!

首先,作为乘法运算,结果对47取余,自然不会溢出,但是中间结果还是有可能溢出的,多以要注意对中间结果进行取余处理!



/*ID: zhuihun1PROG: rideLANG: C++*/#include <iostream>#include <fstream>#include <string.h>#include <stdio.h>#include<algorithm>#define MAXSIZE 5005using namespace std;ofstream fout ("ride.out");ifstream fin ("ride.in");int main(){    string str1,str2;    int m,n,i,t;    while(fin>>str1>>str2)    {        m=1;n=1;        for(i=0;i<(int)str1.length();i++)        {            t=(str1[i]-64)%47;            m*=t;            m%=47;        }        for(i=0;i<(int)str2.length();i++)        {            t=(str2[i]-64)%47;            n*=t;            n%=47;        }        if(m%47==n%47)            fout<<"GO"<<endl;        else            fout<<"STAY"<<endl;    }    return 0;}


原创粉丝点击