日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

22行代码AC_试题 历届试题 油漆面积【解题报告】

發布時間:2024/2/28 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 22行代码AC_试题 历届试题 油漆面积【解题报告】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

勵志用更少的代碼做更高效的表達


X星球的一批考古機器人正在一片廢墟上考古。
該區域的地面堅硬如石、平整如鏡。
管理人員為方便,建立了標準的直角坐標系。

每個機器人都各有特長、身懷絕技。它們感興趣的內容也不相同。
經過各種測量,每個機器人都會報告一個或多個矩形區域,作為優先考古的區域。

矩形的表示格式為(x1,y1,x2,y2),代表矩形的兩個對角點坐標。

為了醒目,總部要求對所有機器人選中的矩形區域涂黃色油漆。
小明并不需要當油漆工,只是他需要計算一下,一共要耗費多少油漆。

其實這也不難,只要算出所有矩形覆蓋的區域一共有多大面積就可以了。
注意,各個矩形間可能重疊。

本題的輸入為若干矩形,要求輸出其覆蓋的總面積。

輸入格式:
第一行,一個整數n,表示有多少個矩形(1<=n<10000)
接下來的n行,每行有4個整數x1 y1 x2 y2,空格分開,表示矩形的兩個對角頂點坐標。
(0<= x1,y1,x2,y2 <=10000)

輸出格式:
一行一個整數,表示矩形覆蓋的總面積。

例如,
輸入:
3
1 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


思路分析

作為2017年A組的最后一題, 我是抱著視死如歸的心態去做的, 讀完題,第一反應是用暴力解, 但一算極限的時間規模, 1w*1w*1w(輸入1w個矩形,每個矩形的大小都是1w*1w),也不對啊?! 于是網搜。

網上的解法清一色全是暴力,每遍歷一個矩形,將其中所有點置1, 最后數點的個數即可。 我人都傻了 藍橋杯都不測極限數據的么

代碼展示

#include<iostream> using namespace std;bool vis[10005][10005];int main() {ios::sync_with_stdio(false);int sum = 0;int n; cin>>n;int x1, y1, x2, y2; while(n--) {cin>>x1>>y1>>x2>>y2;if(x1>x2) { int t=x1; x1=x2; x2=t; }if(y1>y2) { int t=y1; y1=y2; y2=t; }for(int i = x1; i<x2; i++)for(int j = y1; j<y2; j++) if(vis[i][j]==false) {sum++;vis[i][j] = true;} }cout << sum << endl; return 0; }

總結

1 即使時間規模超限,如果沒有更好的解法也要寫上去, 說不定這道題就沒有極限數據-_-||

2 不僅要算時間規模, 也要算空間規模, 如本題如果開int型數組, 占用內存為400M,就會超出內存限制。

3 藍橋杯大題的試題難度大概與題號不成正相關, 所以考試時一定要全面瀏覽試題在開動, 而不是一道一道啃

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的22行代码AC_试题 历届试题 油漆面积【解题报告】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。