路哥從不低頭 dfs

2021-09-16 19:57:31 字數 1656 閱讀 8625

時間限制: 1 sec  記憶體限制: 128 mb

提交: 173  解決: 14

[提交] [狀態] [命題人:外部匯入]

題目描述

路哥是雲南中醫學院大一新生,對路哥來說任何人任何物都只是他的道具而已。

過程不重要,只要最後勝利是屬於路哥的。

路哥每次出完手就把這鍋扔給別人。

而他自己,深藏功與名,事了拂衣去。

畢竟,深藏不露是一種卓越的才能。

某天,路哥被班主任叫去清理海報。

這裡有一塊寬為w,高為h的海報欄。以左下角為原點建立直角座標系。

第i張貼上去的海報左下角為(x1_i,y1_i),右上角為(x2_i,y2_i)。

撕去一張海報會導致所有覆蓋在其上的海報被同時撕掉(這個過程具有傳遞性,即如果a覆蓋b,b覆蓋c,那麼撕掉c會導致a和b均被撕掉)

一張海報如果可以被撕掉需要至少存在乙個角沒有被其他海報覆蓋。

海報a被海報b覆蓋當且僅當存在a和b的交面積大於0,並且a在b之前貼出。

由於路哥嫌麻煩,為了提高效率,路哥會一次性的撕掉盡可能多的海報。

現在請你幫路哥計算路哥一次最多可以撕掉多少張海報。

在張數相同的情況下,路哥會選擇更早貼出的海報。

輸入多組資料。

第一行三個整數w,h,n,分別為海報欄的寬和高,貼出的海報數量。

接下來n行,每行四個整數x1_i,y1_i,x2_i,y2_i。

(1 <= w,h <= 10000000, 1 <= n <= 1000, 0 <= x1_i,x2_i <= w, 0 <= y1_i,y2_i <= h)

輸出輸出兩個整數,分別是海報數量和撕去的是第幾張。

複製樣例資料

6 7 4

0 0 4 4

1 0 3 4

1 4 4 6

0 0 3 5

樣例輸出

3 1
[提交][狀態]

dfs判斷

中間要判斷海報是否可以被撕掉,還有多組樣例,記得每次清空

**:

#include using namespace std;

typedef long long ll;

const int maxn = 1e3 + 100;

const int inf = 0x3f3f3f3f;

const int mod = 1e9 + 7;

struct node s[maxn];

vectora[maxn];

int vis[maxn];

int f[maxn];

int cnt;

int check(node a, node b, int x)

void dfs(int x)

}}int main()

for (int i = n; i >= 1; i--)

}int ans = -1, p = 0;

for (int i = 1; i <= n; i++) }}

printf("%d %d\n", ans, p);

memset(f, 0, sizeof(f));

memset(vis, 0, sizeof(vis));

}return 0;

}

路哥從不低頭

時間限制 1 sec 記憶體限制 128 mb 題目描述 路哥是雲南中醫學院大一新生,對路哥來說任何人任何物都只是他的道具而已。過程不重要,只要最後勝利是屬於路哥的。路哥每次出完手就把這鍋扔給別人。而他自己,深藏功與名,事了拂衣去。畢竟,深藏不露是一種卓越的才能。某天,路哥被班主任叫去清理海報。這裡...

4888 路哥從不低頭

問題 h 路哥從不低頭 時間限制 1 sec 記憶體限制 128 mb 題目描述 路哥是雲南中醫學院大一新生,對路哥來說任何人任何物都只是他的道具而已。過程不重要,只要最後勝利是屬於路哥的。路哥每次出完手就把這鍋扔給別人。而他自己,深藏功與名,事了拂衣去。畢竟,深藏不露是一種卓越的才能。某天,路哥被...

低頭做事與抬頭看路

我最近一直有一些困惑,這些困惑來自於我的工作。就像在乙個籠子裡面的野獸,思維總是找不到乙個出口,只是在那個籠子裡面不停的轉悠。轉啊轉,發現自己轉了一圈還是回到了原來的地方。這是乙個讓人窒息的困惑,讓人謎思的困惑。我在追問 門,在 很偶然,我看到了一篇blog,提到中國的經理人往往喜歡低頭做事,而港台...