第二週test1 一週賽G HDU - 6292
阿新 • • 發佈:2018-12-14
#include <iostream> using namespace std; int main() //二位指標陣列 { int T; //1<=T<=13 cin >> T; // int n, m; //n為驗題人數量,m為AC隊伍數 (2≤n≤20,0≤m≤500) int**N = new int*[T]; //二維陣列n儲存T道題的T*n個程式碼長度 for (int i = 0; i < T; ++i) { N[i] = new int[20]; } int**M = new int*[T]; //二維陣列n儲存T道題的T*n個程式碼長度 for (int i = 0; i < T; ++i) { M[i] = new int[500]; } int**NM = new int*[T]; //二維陣列n儲存T道題的n,m for (int i = 0; i < T; ++i) { NM[i] = new int[2]; } int**Min = new int*[T]; //二維陣列n儲存T道題的n,m for (int i = 0; i < T; ++i) { Min[i] = new int[2]; } for (int t = 0; t < T; ++t) //賦值 { cin >> NM[t][0]>> NM[t][1]; int i = 0; int a; cin >> a; while (i < NM[t][0]) { N[t][i] = a; ++i; if(i!=NM[t][0] ) cin >> a; } i = 0; while (i < NM[t][1]) { cin >> a; M[t][i] = a; ++i; } } for (int i = 0; i < T; ++i) { Min[i][0] = N[i][0]; for (int j = 1; j < NM[i][0]; ++j) { if (N[i][j] < Min[i][0]) Min[i][0] = N[i][j]; } Min[i][1] = M[i][0]; for (int k = 1; k < NM[i][1]; ++k) { if (M[i][k] < Min[i][1]) Min[i][1] = M[i][k]; } } for (int t = 0; t < T; ++t) //顯示輸出 { cout << "Problem " << t + 1001<<":"<<endl; cout << "Shortest judge solution: " << Min[t][0] << " bytes."<<endl; if(NM[t][1] == 0) cout << "Shortest team solution: " << "N/A"<< " bytes." << endl; else cout << "Shortest team solution: " << Min[t][1] << " bytes." << endl; } }