PAT A1035 Password 簡便方法

2021-09-26 07:56:01 字數 764 閱讀 8046

題目鏈結

這道題不難,但是很繁瑣,一堆 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 ...