信息学奥赛一本通 1107:校门外的树 | 1931:【05NOIP普及组】校门外的树 | OpenJudge NOI 1.6 06 | 洛谷 P1047 [NOIP2005 普及组] 校门外的树
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1107:校门外的树 | 1931:【05NOIP普及组】校门外的树 | OpenJudge NOI 1.6 06 | 洛谷 P1047 [NOIP2005 普及组] 校门外的树
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1107:校門外的樹
ybt 1931:【05NOIP普及組】校門外的樹
OpenJudge NOI 1.6 06:校門外的樹
洛谷 P1047 [NOIP2005 普及組] 校門外的樹
【題目考點】
1. 數(shù)組
2. 模擬
【解題思路】
用數(shù)組模擬各位置是否有樹
- 設布爾類型數(shù)組a,a[i]表示第i位置是否有樹
- 先將0~L的位置都設為有樹,把對應數(shù)組元素設為true
- 把每個劃定的區(qū)域設為無樹,把對應數(shù)組元素設為false
- 最后統(tǒng)計還剩下多少樹,即數(shù)組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:樹木數(shù)量統(tǒng)計 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個區(qū)域 {cin >> start >> end;//輸入每個區(qū)域的起始點和終止點 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++;//或?qū)⑦@兩行寫為 s += a[i]; }cout << s;return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1107:校门外的树 | 1931:【05NOIP普及组】校门外的树 | OpenJudge NOI 1.6 06 | 洛谷 P1047 [NOIP2005 普及组] 校门外的树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(2030:【例4.16
- 下一篇: 信息学奥赛一本通(1235:输出前k大的