L3 012 水果忍者

2021-09-11 22:22:10 字數 1170 閱讀 4921

解題思路:見

講道理這是我做的pat中做的最最心累的一道題了,沒有之一,到現在還不知道**有問題。這份**我認為沒有錯誤了,但是還有乙個點過不了,而且最後那個點還隨最後一句printf("%d %d %d %d\n",s[st].x,s[st].yl,s[mat].x,s[mat].yh);中mat還是mit變化為第四個點錯還是第二個點錯。我目前只好認為可能最後那個判題程式會不會也存在bug.

過了一段時間重新做了一下,發現對了。見第二段**。

#include#include#include#includeusing namespace std;

typedef long long ll;

struct node

}s[20009];

struct l

l(int x,int y):x(x),y(y)

}p[10009];

int inf=100000000;

int cross(l a, l b) //a x b 返回1說明b斜率大,-1a斜率大,0說明a,b重合

bool cmp(node a,node b)

}for(int i=j+1;i0)

} if(cross(ma,mi)<=0)

}printf("%d %d %d %d\n",s[st].x,s[st].yl,s[mat].x,s[mat].yh);

return 0;

}

過了一段時間再來做,發現竟然對了

#include#define n 10009

#define ll long long

using namespace std;

struct node

s[n];

struct node2

node2(int x,int y):x(x),y(y)

ll det(node2 b) };

bool cmp(node a,node b)

}for(int j=i+1;j0)

tp=node2(s[j].x-s[i].x,s[j].h-s[i].l);

if(t2.det(tp)<0)

}if(t1.det(t2)>=0)

}return 0;

}

L3 012 水果忍者(天梯賽)

題目保證一定存在一條直線 假設這條直線不經過任何線段的端點 那麼通過旋轉或者平移 一定可以使得線段經過端點 那麼只要固定乙個端點 再判斷斜率範圍就好了 includeusing namespace std define lowbit x x x define ll long long const i...

水果忍者(二)

簡化一下吧,就是,給你乙個螢幕 二維座標系 螢幕上有很點,必殺技的那個矩形的四個頂點必須是以螢幕上的水果為頂點,現在要你算一下,對於這個螢幕,你能放多少種不同的必殺,也就是有多少個不同的矩形 只要任意一點的座標不同均視為不同矩形 輸入格式 有多組資料,第一行為乙個數t t 10 表示有多少組資料。接...

水果忍者遊戲

size large 水果忍者遊戲 此篇文章是在時間較為緊的情況之下寫 不足之處 日後定當豐富之。望見諒。做軟體開發的同學應該知道 水果忍者遊戲本身其實是個大隨機 隨機產生丟擲水果 每個水果隨機運動 而這一切使用最重要的就是執行緒的運用了。按照自己小組做出的水果忍者遊戲的步驟 大至分為遊戲選擇介面 ...