對於一道題來說,小q會統計最短的驗題人**長度(shortest judge solution)以及賽內參賽隊伍最短的ac**長度(shortest team solution)。
統計驗題人**長度比較容易,因為驗題人最多也不會超過2020個。但是統計選手**長度就不容易了,因為大賽區動輒三四百支隊伍。
請寫乙個程式,幫助小q統計最短**長度。
input
第一行包含乙個正整數t(1≤t≤13)t(1≤t≤13),表示賽題數量。
每道題第一行包含兩個整數n,m(2≤n≤20,0≤m≤500)n,m(2≤n≤20,0≤m≤500),分別表示驗題人數量以及ac了該題的隊伍數量。
第二行包含nn個正整數a1,a2,…,an(50≤ai≤65536)a1,a2,…,an(50≤ai≤65536),依次表示每個驗題人的**位元組數。
第三行包含mm個正整數b1,b2,…,bn(50≤bi≤65536)b1,b2,…,bn(50≤bi≤65536),依次表示每支ac隊伍的**位元組數。若m=0m=0則該行為空行。
output
對於第i(1≤i≤t)i(1≤i≤t)道題,輸出三行,第一行輸出problem xx:,其中x=i+1000x=i+1000。
第二行輸出shortest judge solution: yy bytes.,其中yy表示最短的驗題人**位元組數。
第三行輸出shortest team solution: zz bytes.,其中zz表示最短的選手**位元組數,若不存在請輸出n/a。
注意:間隔都是乙個空格。
題解:輸入題數建立迴圈,在迴圈中輸入驗題人和ac選手數,在迴圈中輸入每個驗題人和選手數**長度,用函式對**長度排序,再判斷選手數是否為0,最後輸出
#include using namespace std;
void swap(int a,int c)
} }cout << "shortest judge solution: " << a[0] << " bytes."}
} cout << "shortest team solution: " << a[0] << " bytes." << endl;
}int main()
for (int i = 0; i < m; i++)
cout << "problem " << a << ":" << endl;
swap(x, n);
if (m == 0) cout << "shortest team solution: n/a bytes." << endl;
else sort(y, m);
a++;
}}
第二期一題
問題 在乙個國家僅有1分,2分,3分硬幣,將錢n兌換成硬幣有很多種兌法。請你程式設計序計算出共有多少種兌法。source 杭電acm集訓隊訓練賽 vii 分析 乙份幣作為填充物,在無三分幣的時候,通過對二分幣數量最大可容納數量,作為這種情況的兌換方法數。然後在只有乙個三分幣時 在兩個三分幣時 以此類...
第二期訓練題1
問題分析 該題只需按照題目要求輸入資料,並將每組資料的第乙個作為最小值,再將這個最小值逐一與輸入的資料比較大小,如果輸入的資料小於最小值,則將輸入的資料代替最小值,最後得到這組資料的最小值。ac通過的 如下 includeusing namespace std int main if m 0 cou...
第二期題目
1.請寫乙個擴充套件string的類mystring,加入乙個println 方法,你覺得用繼承string類的方法呢,然後加乙個println 方法簡單?還是在mystring內部建立乙個string物件進行擴充套件?2.類a的預設建構函式中,有這麼一句,system.out.println a ...