題意
通過小組名和彗星名來決定這個小組是否能被那顆彗星後面的ufo帶走。小組名和彗星名都以下列方式轉換成乙個數字:最終的數字就是名字中所有字母的積,其中「a」是1,「z」是26。例如,「usaco」小組就是21*19*1*3*15=17955。如果小組的數字 mod 47等於彗星的數字mod 47,你就得告訴這個小組需要準備好被帶走。
分析先把每乙個字母所代表的數字算出來,這樣就很好做了。
varch:char;
a,b:string;
i,x1,x2:longint;
w:array['a'..'z']of longint;
begin
for ch:='a' to 'z' do
w[ch]:=ord(ch)-64;
readln(a);
readln(b);
x1:=1;x2:=1;
for i:=1 to length(a) do
x1:=x1*w[a[i]];
for i:=1 to length(b) do
x2:=x2*w[b[i]];
if x1 mod 47=x2 mod 47 then write('go') else write('stay');
end.
你的飛碟在這兒Your Ride Is He
題目鏈結 眾所周知,在每乙個彗星後都有乙隻ufo。這些ufo時常來收集地球上的忠誠支持者。不幸的是,他們的飛碟每次出行都只能帶上一組支持者。因此,他們要用一種聰明的方案讓這些小組提前知道誰會被彗星帶走。他們為每個彗星起了乙個名字,通過這些名字來決定這個小組是不是被帶走的那個特定的小組 你認為是誰給這...
USACO1200 你的飛碟在這兒
雖然只是一道練手題,但我確實很久沒做字串的題目了,還是稍微糾結了一小會。分別先求出兩個字串所代表數字的累乘積,再判斷兩個積分對47 求餘是否相等,如果相等輸出 go,否則輸出 stay。另外,求字串長度除了呼叫strlen 函式之外還可以用 名稱 size 的方式。include include u...
luogu1200 你的飛碟在這兒
時空限制 1000ms 128mb 眾所周知,在每乙個彗星後都有乙隻ufo。這些ufo時常來收集地球上的忠誠支持者。不幸的是,他們的飛碟每次出行都只能帶上一組支持者。因此,他們要用一種聰明的方案讓這些小組提前知道誰會被彗星帶走。他們為每個彗星起了乙個名字,通過這些名字來決定這個小組是不是被帶走的那個...