洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here 题解

P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here

题目


Main Idea:

    小组名和彗星名都以下列方式转换成一个数字:最终的数字就是名字中所有字母的积,其中A是1,Z是26。如果小组的数字mod47等于彗星的数字mod47,你就得告诉这个小组需要准备好被带走!

Summary:

    1.char类型数组用''清零,不会影响strlen。
    2.暂时还没想到即清零也不影响sizeof的方法,所以对于int类型,最好还是使用vector或者deque吧。
    3.字符串部分赋值,其余部分自动赋值为0.

Problem Solving Idea:

    模拟题意。

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char a[7],b[7];
	memset(a,'',sizeof(a));
	memset(b,'',sizeof(b)); 
	int num_a=1,num_b=1;
	cin>>a>>b;
	for(int i=0;i<6;i++){
		if(a[i]!='') num_a*=a[i]-'A'+1;
		if(b[i]!='') num_b*=b[i]-'A'+1;//防止对于长度没有6的字符串,会乘上‘’-‘A’+1
	}
	if(num_a%47==num_b%47)	cout<<"GO";
	else cout<<"STAY";
    return 0;
}
原文地址:https://www.cnblogs.com/Fhr2001/p/12033948.html