日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

逃避系统警察

發布時間:2025/3/15 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逃避系统警察 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【題目背景】

由于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

1 1

1 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.


轉載于:https://www.cnblogs.com/YYC-0304/p/9500107.html

總結

以上是生活随笔為你收集整理的逃避系统警察的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。