# 考試 ``` #include<bits/stdc++.h> using namespace std; int main (){ int n; cin>>n; int t=0,tt=0; vector<int>a; vector<int>b; vector<int>c; vector<int>d; for(int i=0;i<n;++i){ int temp; cin>>temp; a.push_back(temp); } for(int i=0;i<n;++i){ int temp1; cin>>temp1; b.push_back(temp1); } for(int i=0;i<n;++i){ if(a[i]>b[i]){ c.push_back(i+1); t++; } else{ d.push_back(i+1); tt++; } } if(t==0){ cout<<"-1"; } else{ for(int i=0;i<t;++i){ cout<<c[i]<<" "; } } cout<<endl; if(tt==0){ cout<<"-1"; } else{ for(int i=0;i<tt;++i){ cout<<d[i]<<" "; } } } ``` ``` #include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<vector<int>> scores(n, vector<int>(m)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> scores[i][j]; } } int best_progress = -1; int worst_regret = -1; int best_student = 0; int worst_student = 0; for (int i = 0; i < n; i++) { int progress = 0; int regret = 0; for (int j = 1; j < m; j++) { if (scores[i][j] > scores[i][j - 1]) { progress += scores[i][j] - scores[i][j - 1]; } else { regret += scores[i][j - 1] - scores[i][j]; } } if (progress > best_progress) { best_progress = progress; best_student = i + 1; } if (regret > worst_regret) { worst_regret = regret; worst_student = i + 1; } } cout << best_student << endl; cout << worst_student << endl; return 0; } ``` ``` #include <iostream> using namespace std; int a[999]={}; // 遞迴函數,模擬染色的過程 void paintFence(int n, int day, int start) { if (n == 1) { // 如果柵欄長度為 1,則只需要塗上當天的顏色 switch (day) { case 1: cout << "R"; break; case 2: cout << "O"; break; case 3: cout << "Y"; break; case 4: cout << "G"; break; case 5: cout << "B"; break; case 6: cout << "I"; break; case 7: cout << "V"; break; } return; } int third = n / 3; // 計算三等分的大小 if (n % 3 == 0) { for (int i = start + third; i < start + 2*third; i++) { a[i-1]=(day + 1) % 7; } // 如果能夠完全三等分,則塗中間那一段 paintFence(third, (day + 1) % 7 + 1, start); paintFence(third, (day + 2) % 7 + 1, start + 2 * third); } // 如果無法完全三等分,則直接塗整段 } int main() { int n, day; cin >> n >> day; paintFence(n, day,); for(int i=0;i<n;++i){ switch (a[i]) { case 1: cout << "R"; break; case 2: cout << "O"; break; case 3: cout << "Y"; break; case 4: cout << "G"; break; case 5: cout << "B"; break; case 6: cout << "I"; break; case 7: cout << "V"; break; } } } cout << endl; return 0; } ```