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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[蓝桥杯] 蚂蚁感冒

發(fā)布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [蓝桥杯] 蚂蚁感冒 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

[藍橋杯] 螞蟻感冒

峰值內存消耗 < 256M  CPU消耗? < 1000ms

【題目描述 - Problem Description】

??? 長100厘米的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。

??? 每只螞蟻都只能沿著桿子向前爬,速度是1厘米/秒。

??? 當兩只螞蟻碰面時,它們會同時掉頭往相反的方向爬行。

??? 這些螞蟻中,有1只螞蟻感冒了。并且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。

??? 請你計算,當所有螞蟻都爬離桿子時,有多少只螞蟻患上了感冒。

【輸入 - Input】

【輸出 - Output】

  第一行輸入一個整數(shù)n (1 < n < 50), 表示螞蟻的總數(shù)。

??? 接著的一行是n個用空格分開的整數(shù) Xi (-100 < Xi < 100), Xi的絕對值,表示螞蟻離開桿子左邊端點的距離。正值表示頭朝右,負值表示頭朝左,數(shù)據(jù)中不會出現(xiàn)0值,也不會出現(xiàn)兩只螞蟻占用同一位置。其中,第一個數(shù)據(jù)代表的螞蟻感冒了。

??? 要求輸出1個整數(shù),表示最后感冒螞蟻的數(shù)目。

?

【輸入樣例?1?- Sample Input 1】

【輸出樣例?1?- Sample Output 1】

3
5 -2 8
1

【輸入樣例?2?- Sample Input 2】

【輸出樣例 2?- Sample Output 2】

5
-10 8 -20 12 25
3

?【題解】

模擬,畫個圖出來大概就清楚了,約等于計數(shù)排序。

例如

5

-10 8 -20 12 25

朝左的統(tǒng)計比10小的,朝右的統(tǒng)計比10大的,然后個數(shù)相加就是染病螞蟻的答案。

其他情況就以此類推,上面8與10配對,如果沒有配對,直接輸出1。

【代碼 C++】

1 #include <cstdio> 2 int main(){ 3 int R, L, Ri, Li, n, a, i; 4 scanf("%d%d", &n, &a); 5 if (a > 0) R = a, Ri = 1, Li = 0; 6 else L = a, Li = 1, Ri = 0; 7 if (Ri){ 8 for (i = 1; i < n; ++i){ 9 scanf("%d", &a); 10 if (a>0 && a < R) ++Ri; 11 else if (a < 0 && a + R < 0) ++Li; 12 } 13 if (Li) printf("%d", Ri + Li); 14 else puts("1"); 15 } 16 else{ 17 for (i = 1; i < n; ++i){ 18 scanf("%d", &a); 19 if (a>0 && a + L < 0) ++Ri; 20 else if (a < L) ++Li; 21 } 22 if (Ri) printf("%d", Ri + Li); 23 else puts("1"); 24 } 25 return 0; 26 }

【可測評地址】http://acmore.cc/problem.php?id=1614

轉載于:https://www.cnblogs.com/Simon-X/p/5304467.html

總結

以上是生活随笔為你收集整理的[蓝桥杯] 蚂蚁感冒的全部內容,希望文章能夠幫你解決所遇到的問題。

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