程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Ant題解,antbuild.xml詳解

Ant題解,antbuild.xml詳解

編輯:關於C語言

Ant題解,antbuild.xml詳解


Description:

一根長度為L厘米的木棒上有N只螞蟻,每只螞蟻要麼向左走,要麼向右走,速度為1厘米/秒。當兩只螞蟻相撞時,他們會同時掉頭(掉頭時間不計)給出每只螞蟻距離木棒左端的距離,問多少秒後,剛好所有螞蟻都從木棒上掉下來。

N 和 L均不超過1000

輸入第一行兩個整數,分別是N和L

接下來N行,每行先是一個字符,L或R,代表向左還是向右,然後是一個整數x,代表這個螞蟻距離木棒左端的距離。

樣例輸入:

4 10

R 1

R 5

L 3

R 9

樣例輸出:

9


難度:0


 

Hint:

假設你在遠處觀察兩只螞蟻相向而行,他們相撞後掉頭,和直接穿過有什麼區別?

 
剛開始看到題目有點被嚇到~.~仔細分析,會發現題目要我們求的就是最後一只螞蟻掉下來的時間,其實就是它走過的路程長度。那麼掉頭與不掉頭有什麼區別呢?下面放張圖 掉頭與否對最後一只螞蟻走過的路程長度沒有影響,是不是覺得很神奇~~要思考,假設沒有提示能想到麼?
代碼:
#include<stdio.h>
int main() {
    int N, L;
    int x, max = 0, i;
    char a;
    scanf("%d%d", &N, &L);
    for (i = 1; i <= N; i++) {  // i從0到n-1或許更為常用
        scanf("%s%d", &a, &x);
        if (a == 'R') {
            x = L - x;        // 往右走的螞蟻,那麼忽略掉頭問題,走過的路程長度就是木棒長度減去距離左端的值
        }
        if (x > max) {
            max = x;
        }
    }
    printf("%d\n", max);
    return 0;
}

題後反思:平時做題可以多思考給出的示例,自己來模擬這個過程,重點要動手,有時候單純思考是沒有用的~~

 


(第一次寫題解,慢慢積累經驗~.~)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved