天天看點

usaco 1.2 the ride is here

本題大概題意: 小組名和彗星名都以下列方式轉換成一個數字:最終的數字就是名字中所有字母的積。

讀入彗星名和小組名并算出用上面的方案能否将兩個名字搭配起來,如果能搭配,就輸出“GO”,否則輸出“STAY”。小組名和彗星名均是沒有空格或标點的一串大寫字母mod 47等于彗星的數字mod 47,你就得告訴這個小組需要準備好被帶走!

本題首先需要注意檔案的讀寫格式! 本題的一行字元串的讀入沒有涉及空格,若涉及到此類問題,可以通過fgetc(buf,sizeof(buf),fin)解決問題

其次,可以考慮利用轉化的同時進行取模操作

int
hash(char *s)
{
	int i, h;

	h = 1;
	for(i=0; s[i] && isalpha(s[i]); i++)
		h = ((s[i]-'A'+1)*h) % 47;
	return h;
}