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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

信息学奥赛一本通 1107:校门外的树 | 1931:【05NOIP普及组】校门外的树 | OpenJudge NOI 1.6 06 | 洛谷 P1047 [NOIP2005 普及组] 校门外的树

發布時間:2025/3/17 编程问答 34 豆豆

【題目鏈接】

ybt 1107:校門外的樹
ybt 1931:【05NOIP普及組】校門外的樹
OpenJudge NOI 1.6 06:校門外的樹
洛谷 P1047 [NOIP2005 普及組] 校門外的樹

【題目考點】

1. 數組

2. 模擬

【解題思路】

用數組模擬各位置是否有樹

  • 設布爾類型數組a,a[i]表示第i位置是否有樹
  • 先將0~L的位置都設為有樹,把對應數組元素設為true
  • 把每個劃定的區域設為無樹,把對應數組元素設為false
  • 最后統計還剩下多少樹,即數組a的0~L的位置中,還有多少個元素為true。

【題解代碼】

解法1:

#include <bits/stdc++.h> using namespace std; int main() {bool a[10005];//如果位置i有樹,a[i]保存為true,否則保存為falseint l, m, start, end, s = 0;//s:樹木數量統計 cin >> l >> m;for(int i = 0; i <= l; ++i)//a[0]~a[m]先設為有樹 a[i] = true;for(int i = 0; i < m; ++i)//m個區域 {cin >> start >> end;//輸入每個區域的起始點和終止點 for(int j = start; j <= end; ++j)//a[start]到a[end]設為無樹 a[j] = false;}for(int i = 0; i <= l; ++i){if(a[i])//如果第i位置有樹s++;//或將這兩行寫為 s += a[i]; }cout << s;return 0; }

總結

以上是生活随笔為你收集整理的信息学奥赛一本通 1107:校门外的树 | 1931:【05NOIP普及组】校门外的树 | OpenJudge NOI 1.6 06 | 洛谷 P1047 [NOIP2005 普及组] 校门外的树的全部內容,希望文章能夠幫你解決所遇到的問題。

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