2025 年 1 月 5 日 APCS 第一題 q181. 1. 等紅綠燈 題目連結 : https://zerojudge.tw/ShowProblem?problemid=q181 C++ 程式碼參考 : ``` cpp #include <bits/stdc++.h> using namespace std; int main(){ int green,red,cir,n,accum=0; // green :綠燈秒數,red :紅燈秒數,cir :一次循環秒數,accum :累積等待時間 cin >> green >> red >> n; cir=green+red; // 綠燈時間 + 紅燈時間 = 一個循環的時間 int datas[n]; for (int i=0;i<n;i++) cin >> datas[i]; // 所有小朋友到達的時間 for (int i=0;i<n;i++){ if (datas[i]%cir>=green) accum+=cir-(datas[i]%cir); //判斷到達時間是否紅燈。如果是,需等待到綠燈,並記錄累積等待的時間 } cout << accum << endl; // 輸出累積的時間 return 0; } ``` 判分結果 : AC (2ms, 336KB) 時間複雜度 : O(n)