[USACO1.1]你的飛碟在這兒 Your Ride Is Here
阿新 • • 發佈:2018-12-16
題目描述
眾所周知,在每一個彗星後都有一隻UFO。這些UFO時常來收集地球上的忠誠支持者。不幸的是,他們的飛碟每次出行都只能帶上一組支持者。因此,他們要用一種聰明的方案讓這些小組提前知道誰會被彗星帶走。他們為每個彗星起了一個名字,通過這些名字來決定這個小組是不是被帶走的那個特定的小組(你認為是誰給這些彗星取的名字呢?)。關於如何搭配的細節會在下面告訴你;你的任務是寫一個程式,通過小組名和彗星名來決定這個小組是否能被那顆彗星後面的UFO帶走。
小組名和彗星名都以下列方式轉換成一個數字:最終的數字就是名字中所有字母的積,其中AA是11,ZZ是2626。例如,USACOUSACO小組就是21 \times 19 \times 1 \times 3 \times 15=1795521×19×1×3×15=17955。如果小組的數字\bmod 47mod47等於彗星的數字\bmod 47mod47,你就得告訴這個小組需要準備好被帶走!(記住“a \bmod bamodb”是aa除以bb的餘數;34 \bmod 1034mod10等於44)
寫出一個程式,讀入彗星名和小組名並算出用上面的方案能否將兩個名字搭配起來,如果能搭配,就輸出“GO”,否則輸出“STAY”。小組名和彗星名均是沒有空格或標點的一串大寫字母(不超過66個字母)。
輸入輸出格式
輸入格式:
第1行:一個長度為11到66的大寫字母串,表示彗星的名字。
第2行:一個長度為11到66的大寫字母串,表示隊伍的名字。
輸出格式:
輸入輸出樣例
輸入樣例#1:
COMETQ HVNGAT輸出樣例#1:
GO輸入樣例#2:
ABSTAR USACO輸出樣例#2:
STAY
用string搞搞就好了,入門難度,水題
var a,b:string; a1,b1,j,X:longint; i:char; begin A1:=1; B1:=1; J:=64; readln(a); readln(b); for i:='A'to'Z'do begin INC(X); inc(j); while pos(i,a)<>0 do begin a1:=a1*X; delete(a,pos(i,a),1); end; while pos(i,b)<>0 do begin b1:=b1*X; delete(b,pos(i,b),1); end; end; if (a1 mod 47)=(b1 mod 47) then write('GO') else write('STAY'); end.