以後,如果不是a+b問題,我盡量每題都寫,聚沙成塔
time limit: 5 sec
memory limit: 64 mb
submit: 2080
solved: 928 [
submit][
status][
discuss]
farmer john最近發明了乙個遊戲,來考驗自命不凡的貝茜。遊戲開始的時 候,fj會給貝茜一塊畫著n (2 <= n <= 200)個不重合的點的木板,其中第i個點 的橫、縱座標分別為x_i和y_i (-1,000 <= x_i <=1,000; -1,000 <= y_i <= 1,000)。 貝茜可以選兩個點畫一條過它們的直線,當且僅當平面上不存在與畫出直線 平行的直線。遊戲結束時貝茜的得分,就是她畫出的直線的總條數。為了在遊戲 中勝出,貝茜找到了你,希望你幫她計算一下最大可能得分。
* 第1行: 輸入1個正整數:n
* 第2..n+1行: 第i+1行用2個用空格隔開的整數x_i、y_i,描述了點i的座標
第1行: 輸出1個整數,表示貝茜的最大得分,即她能畫出的互不平行的直線數 4
-1 1
-2 0
0 01 1
* 第1行: 輸出1個整數,表示貝茜的最大得分,即她能畫出的互不平行的直線數
4 輸出說明: 貝茜能畫出以下4種斜率的直線:-1,0,1/3以及1。
斜率水題,直接上**
var
n,i,j,y,x,ans,tot:longint;
flag,bl:boolean;
k:array[-1..20001]of double;
a,b:array[-1..201]of longint;
procedure qsort(l,r:longint);
var i,j:longint; mid,x:double;
begin
i:=l;
j:=r;
mid:=k[(i+j)shr 1];
repeat
while k[i]mid do dec(j);
if i<=j then
begin
x:=k[i];
k[i]:=k[j];
k[j]:=x;
inc(i);
dec(j);
end;
until i>j;
if il then qsort(l,j);
end;
begin
readln(n);
for i:=1 to n do
begin
readln(a[i],b[i]);
end;
for i:=1 to n do
for j:=i+1 to n do
begin
if a[i]=a[j] then//橫座標相同,即x軸平行,這點要判斷一下,否則除數將為0
begin
flag:=true;
endelse if b[i]=b[j] then//縱座標相同,這個可要可不要
begin
bl:=true;
endelse
begin
inc(tot);
x:=a[i]-a[j];
y:=b[i]-b[j];
k[tot]:=y/x;
end;
end;
qsort(1,tot);//判斷種類問題,一般用到快排
ans:=1;//因為n條斜率,最多有n條不同,最少有1條不同,又只能判斷n-1次,因此將ans的初值定為1
for i:=2 to tot do
begin
if k[i]-k[i-1]<>0 then
begin
//writeln(k[i]:0:2);
inc(ans);
end;
end;
if flag then inc(ans);
if bl then inc(ans);
writeln(ans);
end.
總結:
1、斜率等座標問題,必須考慮除數為0的情況。
2、判斷是否重複(種類問題)可用類似桶排序的方法,但對於此題,會使桶排序的陣列下標為實數,因此選用快排
模考3 笨笨連線遊戲
一天,媽媽在黑板上畫了乙個大大的圓,然後又在圓弧上標上1,2 3,2n 個數。然後讓笨笨任意選取一對數 兩個不同的數 上連一條直線。然後再任意選取一對數,再邊一條直線,但這條直線不能和任何別的直線相交。每個數都要恰好與另乙個數連一條直線。笨笨費了好大的勁才找出一種連線方案。媽媽在旁邊問笨笨 給出n ...
網路遊戲長連線與短連線的差異
1.什麼是長連線,什麼是短連線 2.在什麼情況下,遊戲使用長連線或是短連線 3.在使用短連線時,該採用何種網路資料的收發方式 4.在短連線時是否採用http協議 0.起因 前段時間,看到乙個開源的unity客戶端架構,在處理網路層時,該架構採用的方式如下 var response await ses...
遊戲引擎基礎(七)(網路和連線遊戲環境)
第7部份 網路和連線遊戲環境 網路遊戲 我記得一些年前坐在gdc 遊戲開發者大會 聽負責開發x wing vs tie fighter的傢伙們題為 淹沒在internet 的演講,全是關於讓網路遊戲實時地在internet上工作的東西。他們選擇那個題目是多麼的正確啊。當它開始處理資料報的丟失,亂序,...