完全覆蓋問題

2021-08-03 14:32:53 字數 801 閱讀 5421

描述

有一天小董子在玩一種遊戲----用2*1或1*2的骨牌把m*n的棋盤完全覆蓋。但他感覺遊戲過於簡單,於是就隨機生成了兩個方塊的位置(可能相同),標記一下,標記後的方塊不用覆蓋。還要注意小董子只有在m*n的棋盤能被完全覆蓋後才會進行標記。現在他想知道:如果標記前m*n的棋盤能被完全覆蓋,標記後的棋盤是否能被完全覆蓋? 輸入

第一行有乙個整數t(1<=t<=100000),表示有t組測試資料。

每組測試資料有三行或一行。

第一行有兩個整數 m,n(1<=m,n<=25535)表示行數和列數。

如果需要標記的話,第

二、三行都有兩個整數 a,b(1<=a<=m,1<=b<=n),表示行標和列標。

輸出若標記前m*n的棋盤能被完全覆蓋,則看標記後的棋盤是否能被完全覆蓋,能則輸出「yes」,否則輸出「no」;若標記前m*n的棋盤不能被完全覆蓋則輸出「no」。

樣例輸入

2

4 41 1

4 45 5

樣例輸出

no

no

個人理解:

時間

記憶體語言

結果1344

240c

accept

**:

#include#include#include#includeint main()

else

printf("no\n");

}return 0;

}

區間完全覆蓋問題(貪心)

題意 在乙個矩形的花壇上,中間水平放了一排噴水裝置,澆灌半徑為r,問最少需要多少個裝置可以潤濕整個花壇。將每個裝置轉換成一條線段,就變成了求最少的線段覆蓋整個區間。將各線段左端點從小到大排序 設已覆蓋區間的右端點為ed 每次貪心選擇起點小於ed的線段中右端點最大的那一條,然後更新ed。1 inclu...

貪心法 區間完全覆蓋問題

問題 區間完全覆蓋問題 問題描述 給定乙個長度為m的區間,再給出n個區間的起點和終點,求最少使用多少個區間可以將整個區間完全覆蓋。方法 先將n個區間按照起點進行遞增排序。令s表示已經覆蓋到的區域。再剩下的區間中找出所有左端點小於等於當前已經覆蓋到的區域s並且右端點大於等於s的區間,取右端點最大的區間...

(1)區間完全覆蓋問題(最少)

核心就是找右端點最大值 include include define n 1005 using namespace std struct node str n bool cmp node x,node y else int main sort str,str m,cmp for int i 0 i ...