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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

(Vij)火烧赤壁

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (Vij)火烧赤壁 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

描述

曹操平定北方以后,公元208年,率領大軍南下,進攻劉表。他的人馬還沒有到荊州,劉表已經病死。他的兒子劉琮聽到曹軍聲勢浩大,嚇破了膽,先派人求降了。
孫權任命周瑜為都督,撥給他三萬水軍,叫他同劉備協力抵抗曹操。
隆冬的十一月,天氣突然回暖,刮起了東南風。
沒想到東吳船隊離開北岸大約二里距離,前面十條大船突然同時起火。火借風勢,風助火威。十條火船,好比十條火龍一樣,闖進曹軍水寨。那里的船艦,都擠在一起,又躲不開,很快地都燒起來。一眨眼工夫,已經燒成一片火海。
曹操氣急敗壞的把你找來,要你鉆入火海把連環線上著火的船只的長度統計出來!
格式

輸入格式

第一行:N
以后N行,每行兩個數:Ai Bi(表示連環線上著火船只的起始位置和終點,-10^9<=Ai,Bi<=10^9)
輸出格式

輸出著火船只的總長度
樣例1

樣例輸入1

3
-1 1
5 11
2 9
Copy
樣例輸出1

11
Copy
提示

n<=20000
如果Ai=Bi是一個點則看作沒有長度

程序:

#include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n,a[20001],b[20001],c[40001]; int i,j,k,x,y,be,en; long long ass; bool f[40001]; bool cmp(int a,int b) {return a<b; } int fin(int l,int h,int x) {int mid=(l+h)/2;if (c[mid]<x) return fin(mid+1,h,x);if (c[mid]>x) return fin(l,mid,x);if (c[mid]==x) return mid; } int main() {scanf("%d",&n);for (i=1;i<=n;i++){scanf("%d%d",&a[i],&b[i]);j++;c[j]=a[i];j++;c[j]=b[i];}sort(c+1,c+j+1,cmp);for (i=1;i<=n;i++){x=fin(1,j,a[i]);y=fin(1,j,b[i]);for (k=x;k<y;k++)f[k]=1;}i=0;while (i<j){i++;if (f[i]){x=c[i];while (f[i]&&i<j) i++;y=c[i];ass+=y-x;}}printf("%lld",ass); }

轉載于:https://www.cnblogs.com/YYC-0304/p/9500014.html

總結

以上是生活随笔為你收集整理的(Vij)火烧赤壁的全部內容,希望文章能夠幫你解決所遇到的問題。

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