題目鏈結
這道題不難,但是很繁瑣,一堆 if 的疊加,《演算法筆記》上面的**思路很原始,簡單但**長,有50多行。其實這道題可以不用那麼多的 if。
簡便**:
#include
#include
struct stustu[
1010];
intmain()
}}if(stu[i]
.ismodified) count++;}
if(count==
0&& n==1)
printf
("there is 1 account and no account is modified");
else
if(count==
0&& n!=1)
printf
("there are %d accounts and no account is modified"
,n);
else
printf
("%d\n"
,count)
;for
(int i=
0; i)}
《演算法筆記》上的**前面的比較函式寫完,就已經30多行了,有的人main()函式還沒開始動筆,有的人已經開始評測除錯了。總體的思路和《演算法筆記》一樣,但是沒有那麼多的 if ,用
char former=「10lo」, modified="@%lo";兩個陣列來規避很繁瑣的 一大堆判斷,這可能有點新意,而且節省了大量**。
PAT A1007(動態規劃)
include include include include includeusing namespace std define maxn 100010 int dp maxn a maxn int s maxn int main if flag 1 dp 0 a 0 for int i 1 ia...
PAT A1017 優先佇列
這道題有點像優先佇列的思想,簡而言之就是挑選最小的入隊處理,如果有多個佇列就進行多個佇列的處理 借鑑的思想是採用記錄每個佇列中的任務完成時間,然後在讀入任務的時候進行輪詢,選擇結束時間最小的那個佇列,然後進行處理和等待時間的計算 如下 include include include include ...
PAT A1017 優先佇列
這道題有點像優先佇列的思想,簡而言之就是挑選最小的入隊處理,如果有多個佇列就進行多個佇列的處理 借鑑的思想是採用記錄每個佇列中的任務完成時間,然後在讀入任務的時候進行輪詢,選擇結束時間最小的那個佇列,然後進行處理和等待時間的計算 如下 include include include include ...