题解 P1200 【[USACO1.1]你的飞碟在这儿Your Ride Is He…】

· · 题解

我只是个新手... 第一次发题解,勿喷。 c走起!源代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>//正常头文件,因为有函数,加个string。

int main()
{

            int xzt[7],hxt[7],i,j,x=1,y=1,len1=0,len2=0;//彗星转换的数字为hxt,小组为xzt。i,j计数,len1,len2求得的字符串长。
            char xz[7],hx[7];//彗星为hx,小组为xz。
            scanf("%s",hx);
            scanf("%s",xz);//输入不说了
            len1=strlen(xz);//len1是小组字符串的长。
            len2=strlen(hx);//len2你懂得。
            for(i=0;i<len1;i++)//循环
                for(j=1;j<=26;j++)//跟字母死磕
                    if(xz[i]==64+j)//判断
                        xzt[i]=j;
            for(i=0;i<len2;i++)//一样的
                for(j=1;j<=26;j++)//一样的
                    if(hx[i]==64+j)//还是一样的
                        hxt[i]=j;

            for(i=0;i<len2;i++)//x是彗星乘积。
                x*=hxt[i];
            for(i=0;i<len1;i++)//y你懂得。
                y*=xzt[i];

            if(x%47==y%47)//最后的判断
                printf("GO");
            else
                printf("STAY");

            return 0;
}

更简化可以自己改,我很复杂的。100分没毛病,希望能帮到一些人。 (我先走一步,拜拜)