1. 程式人生 > >[USACO1.1]你的飛碟在這兒 Your Ride Is Here

[USACO1.1]你的飛碟在這兒 Your Ride Is Here

題目描述

眾所周知,在每一個彗星後都有一隻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.