# 第一題 [物競天擇](https://zerojudge.tw/ShowProblem?problemid=f818)
python
```py=
n=int(input())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
c=[]
for i in range(n):
c.append(a[i]*b[i])
min=100000000
z=0
for i in range(n):
if(c[i]<min):
min=c[i]
z=i
print(a[z],end=' ')
print(b[z])
```
C++
```cpp=
#include <bits/stdc++.h>
#define a6isweak ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
using namespace std;
signed main()
{
int n;
cin>>n;
int a[n],b[n],c[n];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++)
cin>>b[i];
for(int i=0;i<n;i++)
c[i]=a[i]*b[i];
int mins=INT_MAX,z;
for(int i=0;i<n;i++)
{
if(mins>c[i])
{
mins=c[i];
z=i;
}
}
cout<<a[z]<<' '<<b[z]<<endl;
}
```
# 第二題 括號匹配
python
```py=
n=int(input())
z=0
for z in range(0,n):
s=input()
sk=[]
bl = True
i=0
for i in range(0,len(s)):
if s[i]=='[' or s[i]=='(' or s[i]=='<' or s[i]=='{':
sk.append(s[i])
if(s[i]==']'):
if(len(sk)==0 or sk.pop()!="["):
bl = False
break
if(s[i]==')'):
if(len(sk)==0 or sk.pop()!="("):
bl = False
break
if(s[i]=='>'):
if(len(sk)==0 or sk.pop()!="<"):
bl = False
break
if(s[i]=='}'):
if(len(sk)==0 or sk.pop()!="{"):
bl = False
break
if(len(sk)!=0):
bl=False;
if bl == True:
print("Yes")
else:
print("No")
```
C++
```cpp=
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
cin.ignore();
while(n--)
{
string s;
getline(cin,s);
stack <char> sk;
bool bl = 1;
for(int i=0;i<s.size();i++)
{
if(s[i]=='['||s[i]=='('||s[i]=='<'||s[i]=='{')
sk.push(s[i]);
else if(s[i]==']')
{
if(sk.empty()||sk.top()!='[')
{
bl = 0;
break;
}
sk.pop();
}
else if(s[i]==')')
{
if(sk.empty()||sk.top()!='(')
{
bl = 0;
break;
}
sk.pop();
}
else if(s[i]=='>')
{
if(sk.empty()||sk.top()!='<')
{
bl = 0;
break;
}
sk.pop();
}
else if(s[i]=='}')
{
if(sk.empty()||sk.top()!='{')
{
bl = 0;
break;
}
sk.pop();
}
}
if(!sk.empty())
bl=0;
cout<<(bl ? "Yes":"No")<<endl;
}
return 0;
}
```
# 第三題 [等差數列](https://zerojudge.tw/ShowProblem?problemid=b971)
## d為公差
python
```py=
n,m,d=map(int,input().split())
if(d>0):
for i in range(n,m+1,d):
print(i,end=' ')
if(d<0):
for i in range(n,m-1,d):
print(i,end=' ')
```
C++
```cpp=
#include <bits/stdc++.h>
using namespace std;
signed main()
{
int n,m,d;
cin>>n>>m>>d;
if(d>0)
{
for(int i=n;i<=m;i+=d)
cout<<i<<' ';
}
else
{
for(int i=n;i>=m;i+=d)
cout<<i<<' ';
}
}
```
# 第四題 奇數運算
*自出題,無原題來源*
python
```py=
n=int(input())
sum=0
a=[]
z=1
for i in range(1,n+1):
sum+=z;
print(z,end=' ')
a.append(z)
z=z+2
print()
print("sum=",end='')
print(sum)
print("average=",end='')
print(round(sum/n))
print("Median=",end='')
if n%2==0:
print(round((a[round(n/2)]+a[round(n/2)-1])/2))
else:
print(a[round(n/2)-1])
```
C++
```cpp=
#include <bits/stdc++.h>
using namespace std;
signed main()
{
int n;
cin>>n;
vector<int> v;
int sum=0;
for(int i=1;i<2*n+1;i+=2)
{
v.push_back(i);
cout<<i<<' ';
sum+=i;
}
cout<<endl;
cout<<"sum= "<<sum<<endl;
cout<<"average= "<<sum/n<<endl;
cout<<"Median= ";
if(n%2==0)
{
cout<<(v[n/2]+v[n/2-1])/2;
}
else
cout<<v[n/2];
}
```
# 第五題 [hello, everyone](https://zerojudge.tw/ShowProblem?problemid=b969)
python
```py=
a=list(map(str,input().split()))
s=input()
for i in range(len(a)):
print(s,end=", ")
print(a[i])
```
C++
```cpp=
#include <bits/stdc++.h>
using namespace std;
signed main()
{
vector<string> v;
string s;
while(cin>>s)
{
v.push_back(s);
}
for(int i=0;i<v.size()-1;i++)
cout<<v[v.size()-1]<<", "<<v[i]<<endl;
}
```
# 第六題 [missing number](https://cses.fi/problemset/task/1083/)
由題目限制$n<2·10^5$得
時間複雜度
$O(NlogN)$ (C++)
$O(N)$ (python)
C++很簡單,sort是$O(NlogN)$,直接排序就過了
```cpp=
#include <bits/stdc++.h>
using namespace std;
signed main()
{
int n;
cin>>n;
int a[n-1];
for(int i=0;i<n-1;i++)
cin>>a[i];
sort(a,a+n-1);
for(int i=0;i<n-1;i++)
{
if(a[i]!=i+1)
{
cout<<i+1<<endl;
return 0;
}
}
cout<<n<<endl;
}
```
python就麻煩了,sort一樣是$O(NlogN)$,但題目只能接受到$O(N)$,所以必須建表
```py=
n=int(input())
a=[]
for i in range(n):#塞入初始
a.append(0)
z=list(map(int,input().split()))
for i in range(n-1):
a[z[i]-1]=1
for i in range(n):
if a[i]==0:
print(i+1)
break;
```