逃避系統警察

2021-08-02 04:38:46 字數 1262 閱讀 5388

【題目背景】

由於gjy在與神犇的世紀大戰中輸了,現在她必須躲避系統警察對她的追捕,不然她一輩子都不可以與神犇交朋友了。

【題目描述】

gjy躲藏到了乙個茂密的森林裡,森林裡是乙個m*n的矩陣,裡面有m*n棵樹,也就是說在每一整數字置上都有一棵樹,水平或垂直相鄰的兩棵樹的距離為1。而gjy就在某乙個果樹下面。

系統警察可是會爬樹的,他帶著他的電子網爬上了某一棵樹,準備來抓捕gjy。如果警察和gjy之間沒有其他的樹,那麼警察就會看到gjy,就會對她實施抓捕。現在聰明的我們已經知道了警察和gjy的位置,要求你編寫乙個程式來判斷警察是否可以抓到gjy。

【輸入格式】

第一行為n,表示一共有n組資料,每組資料的第一行為兩個正整數ax和ay,表示系統警察的位置,每組資料的第二行為兩個正整數bx和by,表示gjy所在的位置。

【輸出格式】

一共有n行,如果可以抓到gjy輸出「yes」,否則輸出「no」。

【輸入樣例】

1 11 2

【輸出樣例】

no

【資料範圍】

對於100%的資料,n≤100000,1≤ax,ay,bx,by≤100000000.

分析這題就是求在乙個點陣內,兩點連成一條直線,直線上是否有其他點,若有則輸出no,否則輸出yes

這題有乙個公式:在乙個點陣內,若abs(ax-bx)和abs(ay-by)有乙個公約數,則兩點相連,直線上就會有其他點。

程式:var

n,i:longint;

ax,bx,ay,by,x,y:int64;

function f(x,y:longint):longint;

begin

if y<>0 then exit(f(y,x mod y)) else exit(x);

end;

begin

readln(n);

for i:=1 to n do

begin

readln(ax,ay);

readln(bx,by);

x:=abs(ax-bx);

y:=abs(ay-by);

if f(x,y)=1 then writeln('yes') else writeln('no');

end;

end.

逃避的味道

最近越來越感覺到自己不知道還能堅持多久,一直都認為自己的心態一直都是很好的,我也知道我不能退縮,我需要勇敢去面對。可是我真的感覺自己過得好累 原來以為只要乙個月的時間就可以的。想想這乙個多月來,每天跑那麼遠,只為了 撒網。就算受到了打擊,我也告訴自己 沒關係,在打擊中成長啊,雖然沒有結果,可是我也知...

警察與廚師

檔名稱 test.cpp 完成日期 2016年6月15日 版本號 v1.0 問題描述 專案 警察和廚師 1 根據下面的類圖,定義各個類 要求 各個成員函式,只要輸出相關的資訊即可,暫不深究其業務功能 請為各個類增加建構函式 在實現中,可以增加需要的其他函式 自行編制main函式,完成初步的測試 輸入...

警察距離 LintCode

給乙個n x m的矩陣,裡面的值1代表那個位置站了乙個警察,1代表是牆,0代表是空地。現在請你輸出乙個n x m矩陣,輸出每乙個空地到離他最近的警察的距離。注意事項 給的n x m 的矩陣,n 200,m 200。保證每個空地都至少能走到乙個警察。樣例 給出 mat 0,1,0 0,1,1 0,0,...