題目描述:
x星球的一批考古機械人正在一片廢墟上考古。
該區域的地面堅硬如石、平整如鏡。
管理人員為方便,建立了標準的直角座標系。
每個機械人都各有特長、身懷絕技。它們感興趣的內容也不相同。
經過各種測量,每個機械人都會報告乙個或多個矩形區域,作為優先考古的區域。
矩形的表示格式為(x1,y1,x2,y2),代表矩形的兩個對角點座標。
為了醒目,總部要求對所有機械人選中的矩形區域塗黃色油漆。
小明並不需要當油漆工,只是他需要計算一下,一共要耗費多少油漆。
其實這也不難,只要算出所有矩形覆蓋的區域一共有多大面積就可以了。
注意,各個矩形間可能重疊。
本題的輸入為若干矩形,要求輸出其覆蓋的總面積。
輸入格式:
第一行,乙個整數n,表示有多少個矩形(1<=n<10000)
接下來的n行,每行有4個整數x1 y1 x2 y2,空格分開,表示矩形的兩個對角頂點座標。
(0<= x1,y1,x2,y2 <=10000)
輸出格式:
一行乙個整數,表示矩形覆蓋的總面積。
例如,輸入:
31 5 10 10
3 1 20 20
2 7 15 17
程式應該輸出:
340再例如,
輸入:3
5 2 10 6
2 7 12 10
8 1 15 15
程式應該輸出:
128資源約定:
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 2000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。
注意:main函式需要返回0;
只使用ansi c/ansi c++ 標準;
不要呼叫依賴於編譯環境或作業系統的特殊函式。
所有依賴的函式必須明確地在原始檔中 #include
不能通過工程設定而省略常用標頭檔案。
提交程式時,注意選擇所期望的語言型別和編譯器型別。
分析:這題感覺很簡單,用map二位陣列記錄下地圖,初始化map=0。然後根據每次機械人塗漆的範圍,來使對應的map值=1,若已經=1則跳過,最後計算整個地圖含1的個數即可
**如下:
#includeusing namespace std;
int map[10005][10005];
int n;
void paint(int x1,int y1,int x2,int y2);
int main()
int area=0;
for(int i=0;i<=9999;i++)
for(int j=0;j<=9999;j++)
if(map[i][j]==1)
area++;
cout
}void paint(int x1,int y1,int x2,int y2)
河南省藍橋杯第八屆省賽 7 正則問題
題目描述 考慮一種簡單的正規表示式 只由 x 組成的正規表示式。小明想求出這個正規表示式能接受的最長字串的長度。例如 xx x x xx xx 能接受的最長字串是 長度是6。輸入 乙個由x 組成的正規表示式。輸入長度不超過100,保證合法。輸出 這個正規表示式能接受的最長字串的長度。例如,輸入 xx...
河南省藍橋杯第八屆省賽 9 分巧克力
題目描述 兒童節那天有k位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有n塊巧克力,其中第i塊是hi x wi的方格組成的長方形。為了公平起見,小明需要從這 n 塊巧克力中切出k塊巧克力分給小朋友們。切出的巧克力需要滿足 1.形狀是正方形,邊長是整數 2.大小相同 例如一塊6x5...
藍橋杯第八屆省賽
第4題 6x6的方格,沿著格仔的邊線剪開成兩部分。要求這兩部分的形狀完全相同。如圖 p1.png,p2.png,p3.png 就是可行的分割法。試計算 包括這3種分法在內,一共有多少種不同的分割方法。注意 旋轉對稱的屬於同一種分割法。請提交該整數,不要填寫任何多餘的內容或說明文字。圖的dfs 按照兩...