題目描述
在二維平面座標軸裡面,有n只螞蟻,第i只螞蟻所在的點的座標是(xi, yi),座標都是整數。所有螞蟻的移動速度都相等,都是每秒移動1個單位。每只螞蟻都有乙個固定的移動方向,是如下4種方向之一,都是平行於座標軸的:
l n表示向北(即朝上), 則y座標正方向。
l e表示向東(即朝右), 則x座標正方向。
l s表示向南(即向下), 則y座標負方向。
l w表示向西(即向左), 則x座標負方向。
當2只或多隻螞蟻在某個時刻碰(不一定是整數時刻)撞到一起,那麼這些螞蟻都會立即消失。例如螞蟻a的初始位置是(0, 0)且方向是向東,螞蟻b的初始位置是(1, 0)且方向是向西,那麼0.5秒後,兩隻螞蟻會在點(0.5, 0)處碰撞,兩隻螞蟻瞬間都消失。當所有的碰撞結束後,還有多少只螞蟻存在?不管螞蟻最終移動到**,只要沒有消失,都算是存在。
輸入第一行,乙個整數n(1 ≤ n ≤ 50)。
第二行,乙個長度是n的字串,第i個字元表示第i只螞蟻的移動方向。
接下來有n行,每行兩個整數,表示螞蟻的橫座標x和縱座標y。
-1000 ≤ x,y ≤ 1000。輸入資料保證,一開始沒有兩隻螞蟻具有相同的位置。
對於50%的資料, 螞蟻的座標範圍【-100,100】。
輸出乙個整數,表示當所有的碰撞結束後,存在的螞蟻的數量。
輸入樣例
nwne
0 010 10
20 20
30 30
news
-10 0
0 -10
0 10
10 0
ewss
0 09 0
0 40 5
eenwwswse
-1 0
1 00 0
-1 -1
1 -1
0 10 -1
-1 1
1 1swnse
-2 -1
-3 -1
-2 -3
1 3-3 -2
esewnneww
-1 -1
-1 0
-1 1
0 -1
0 00 1
1 -1
1 01 1
ewen
2 210 2
0 20 0
nen2 0
0 21 1
sw-1000 1000
1000 -1000
輸出樣例
純模擬,列舉時間將座標加或減0.5,再判斷有沒有螞蟻碰撞。
**如下:
var
n,i,j,ans,k:longint;
s:string;
x,y:array[1.
.50] of real;
f,bool:array[1.
.50] of boolean;
begin
assign(input,'ant.in');
assign(output,'ant.out');
reset(input);
rewrite(output);
readln(n);
readln(s);
fillchar(f,sizeof(f),false);
for i:=1
to n do readln(x[i],y[i]);
for i:=1
to4000
dobegin
fillchar(bool,sizeof(bool),false);
for j:=1
to n do
case s[j] of
'n':y[j]:=y[j]+0.5;
's':y[j]:=y[j]-0.5;
'w':x[j]:=x[j]-0.5;
'e':x[j]:=x[j]+0.5;
end;
for j:=1
to n-1
doif not(f[j]) then
for k:=j+1
to n do
if not(f[k]) then
if (x[j]=x[k]) and (y[j]=y[k]) then
begin
bool[j]:=true; bool[k]:=true; end;
for j:=1
to n do
ifbool[j] and not(f[j]) then
begin
f[j]:=true;
inc(ans);
end;
end;
write(n-ans);
close(input);
close(output);
end.
JZOJ 3 18 1507 普及模擬 數列
題目描述 給定乙個等差數列,第一項是a,從第二項開始,每項與前一項的差都是乙個定值b。如果用數學形式來表示,那麼可以表示成 a b x 其中 x 0,且是整數。例如 a 1,b 2,那麼這個等差數列就是 1,3,5,7,9 再給定乙個等比數列,第一項是c,從第二項開始,每項是前一項的d倍。如果用數學...
數學 (JZOJ) 普及模擬 單元格
題目描述 在乙個r行c列的 裡,我們要選出3個不同的單元格。但要滿足如下的兩個條件 1 選中的任意兩個單元格都不在同一行。2 選中的任意兩個單元格都不在同一列。假設我們選中的單元格分別是 a,b,c,那麼我們定義這種選擇的 費用 f a b f b c f c a 其中f a b 是指單元格a到單元...
jzoj 1579 普及模擬 老鼠 解題報告
時間限制 1000 ms 空間限制 262144 kb 具體限制 goto problemset 題目描述 最近小h家鬧鼠災,弄得小h十分惱火。為了解決老鼠的問題,小h根據老鼠的特點想出了乙個方法。假設小h 的家是乙個n n的格仔,每個格仔都有一定的食物,數量在0到100之間,經過觀察,老鼠的窩在 ...