# 黎明高中資訊社第一次段考
---
## 目錄:
> [TOC]
## 說明:
原則上與平時考無太大的不同。但是總共會有10題,4題簡單,3題基本,2題中等,1題難題。
## 完成者填寫說明:
跟平時考規則相同。
## 時間:
2020/05/15至2020/05/31<10 p.m>
## 獎勵:
1.高一:社長參政權(X)
2.高二:飲料
## 社長的話:
當“我們”的學弟在上次平時考五題全對,於是“我們”的社長這次挑題目時:

> [name=風思]
> [color=#f55f]
## 副社長的話:
>1. 白天工作,晚上讀書,假日批判。
>2. 是男人就倒吃甘蔗(從第10題開始寫)。
>3. 唯有 舉起你的右手,才能打破資本主義的高牆。
>[color=#85fe]

> 簡單來講就是自求多福吧
> [color=#85fe]
> [name=李弘唯]
## 吉祥物的話:
無論遇到甚麼困難都不要怕,幹就完事了!我的頭髮QWQ

## 解答:
社長解答已釋出。
---
### 1.<font color="#39FF33">[C_MM250-易] 汽車油耗</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=15584)
#### 問題敘述:
一部汽車油箱容量為m公升,假如汽車行駛時每分鐘油耗為n公升,試問剛加滿油的汽車能行駛多少小時。例如,汽車油箱容量為24公升,汽車行駛時每分鐘油耗為0.04公升, 當此輛汽車加滿油後,能行駛多10.0小時。
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 7:51 PM]
2. <張嘉元>
> [time=Fri, May 15, 2020 10:47 PM]
3. <吳品範>
> [time=Fri, May 15, 2020 10:50 PM]
4. <李晨維>
> [time=Fri, May 15, 2020 11:56 PM]
5. <郭浩雲>
> [time=Sat, May 16, 2020 12:31 PM]
> 天氣好熱
6. <賴晨興>
> [time=Sat, May 16, 2020 1:06 PM]
7. <柯昀杰>
> [time=Sat, May 16, 2020 1:09 PM]
8. <胡韡薰>
> [time=Sat, May 16, 2020 1:25 PM]
9. <陳宜俊>
> [time=Sat, May 16, 2020 1:43 PM]
10. <何承煜>
> [time=Sat, May 16, 2020 1:51 PM]
11. <吳冠毅>
> [time=Sat, May 16, 2020 2:06 PM]
12. <張家寶>
> [time=Sat, May 16, 2020 2:51 PM]
13. <黃安佑>
> [time=Sat, May 16, 2020 10:40 PM]
14. <林承鋒>
> [time= May ]
15. <王昱翔>
> [time=Wed, May 20, 2020 11:18 AM]
16. <李弘唯>
> [time=Wed, May 27, 2020 9:56 PM]
#### 社長提供的測資:
```
input:
8700 8.7
```
```
output:
16.7
```
### 參考解答(社長提供):
#### C++:
```cpp=
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
double m,n;
while(cin >> m >> n)
cout << fixed << setprecision(1) << (m/n)/60 << endl;
return 0;
}
```
### 參考解答(社員提供):
---
### 2.<font color="#39FF33">[C_ST12-易] 星號依規則輸出</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=1320)
#### 問題敘述:
參考範例輸入輸出的形式畫出星星。
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 7:54 PM]
2. <張嘉元>
> [time=Fri, May 15, 2020 10:46 PM]
3. <李晨維>
> [time=Sat, May 16, 2020 12:17 AM]
4. <郭浩雲>
> [time=Sat, May 16, 2020 12:54 PM]
5. <賴晨興>
> [time=Sat, May 16, 2020 1:22 PM]
6. <吳品範>
> [time=Sat, May 16, 2020 1:27 PM]
7. <柯昀杰>
> [time=Sat, May 16, 2020 1:36 PM]
8. <何承煜>
> [time=Sat, May 16, 2020 1:52 PM]
9. <陳宜俊>
> [time=Sat, May 16, 2020 2:06 PM]
10. <吳冠毅>
> [time=Sat, May 16, 2020 2:06 PM]
11. <胡韡薰>
> [time=Sat, May 16, 2020 2:13 PM]
12. <張家寶>
> [time=Sat, May 16, 2020 3:23 PM]
13. <黃安佑>
> [time=Sat, May 16, 2020 10:56 PM]
14. <副社長>
> [time=Wed, May 27, 2020 9:30 PM]
#### 社長提供的測資:
無。
### 參考解答(社長提供):
#### Java:
```java=
import java.util.*;
//[C_ST12-易] 星號依規則輸出
//2019,08,07;10:22
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
if (A > B) {
for (int i = A; i >= B; i--) {
for (int j = 0; j < i; j++)
System.out.print("*");
System.out.println();
}
} else {
for (int i = A; i <= B; i++) {
for (int j = 0; j < i; j++)
System.out.print("*");
System.out.println();
}
}
sc.close();
}
}
```
### 參考解答(社員提供):
---
### 3.<font color="#39FF33">[C_MM161-易] 金字塔</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=3270)
#### 問題敘述:
有 N 塊磚頭要推成 K 層的金字塔,金字塔塔頂只有一塊磚頭,接下來每層都多一塊,給定 N 後請計算出 K 最大能為多少。
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 8:34 PM]
2. <張嘉元>
> [time=Fri, May 15, 2020 10:45 PM]
3. <李晨維>
> [time=Sat, May 16, 2020 12:22 AM]
4. <吳品範>
> [time=Sat, May 16, 2020 12:56 PM]
5. <郭浩雲>
> [time=Sat, May 16, 2020 1:07 PM]
6. <吳冠毅>
> [time=Sat, May 16, 2020 2:06 PM]
7. <柯昀杰>
> [time=Sat, May 16, 2020 2:23 PM]
8. <胡韡薰>
> [time=Sat, May 16, 2020 2:37 PM]
9. <陳宜俊>
> [time=Sat, May 16, 2020 2:38 PM]
10. <黃安佑>
> [time=Sat, May 16, 2020 11:05 PM]
11. <何承煜>
> [time=Wed, May 20, 2020 10:38 AM]
12. <李弘唯>
> [time=Wed, May 27, 2020 9:12 PM]
#### 社長提供的測資:
```
input:
453225
```
```
output:
951
```
### 參考解答(社長提供):
#### C++:
```cpp=
#include <iostream>
using namespace std;
int main(){
int N,K,sum;
while(cin >> N){
sum=0;
for(K=1;sum<=N;K++)
sum+=K;
cout << K-2 << endl;
}
return 0;
}
```
### 參考解答(社員提供):
---
### 4.<font color="#39FF33">[C_ST11-易] 星號菱形輸出</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=657)
#### 問題敘述:
試寫一個程式,可以繪製出如下的圖形:(若輸入偶數,將自動少一行 ) 。
```
*
***
*****
*******
*****
***
*
```
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 8:58 PM]
2. <張嘉元>
> [time=Fri, May 15, 2020 11:23 PM]
3. <李晨維>
> [time=Sat, May 16, 2020 12:50 AM]
4. <吳冠毅>
> [time=Sat, May 16, 2020 2:06 PM]
5. <郭浩雲>
> [time=Sat, May 16, 2020 2:26 PM]
6. <賴晨興>
> [time=Sat, May 16, 2020 2:38 PM]
7. <陳宜俊>
> [time=Sat, May 16, 2020 3:04 PM]
8. <吳品範>
> [time=Sat, May 16, 2020 3:24 PM]
9. <柯昀杰>
> [time=Sat, May 16, 2020 3:34 PM]
10. <胡韡薰>
> [time=Sat, May 16, 2020 9:44 PM]
11. <黃安佑>
> [time=Sat, May 16, 2020 11:41 PM]
12. <何承煜>
> [time=Wed, May 20, 2020 11:54 AM]
13. <李弘唯>
> [time=Wed, May 27, 2020 5:22 PM]
#### 社長提供的測資:
無。
### 參考解答(社長提供):
#### Java:
```java=
import java.util.*;
//[C_ST11-易] 星號菱形輸出
//2019,08,26;19:15
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if (n % 2 == 0)
n--;
// 上半部
for (int i = 1, starCount = 1; i <= (n - 1) / 2; i++, starCount += 2) {
for (int j = 1; j <= (n - starCount) / 2; j++)
System.out.print(" ");
for (int k = 1; k <= starCount; k++)
System.out.print("*");
System.out.println();
}
// 中間n顆星
for (int i = 1; i <= n; i++)
System.out.print("*");
System.out.println();
// 下半部
for (int i = 1, starCount = n - 2; i <= (n - 1) / 2; i++, starCount -= 2) {
for (int j = 1; j <= (n - starCount) / 2; j++)
System.out.print(" ");
for (int k = 1; k <= starCount; k++)
System.out.print("*");
System.out.println();
}
sc.close();
}
}
```
### 參考解答(社員提供):
---
### 5.<font color="#E6C35C">[C_ST62-易] 縮寫很方便</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=13600)
#### 問題敘述:
很多人在寫英文的時候,都喜歡寫縮寫,通常寫縮寫都會拿第一個開頭的字來代替 。 像 United States of America , 大家就都習慣稱呼為 USA 。 請你寫一個程式幫忙找出縮寫 。 不過要注意的是,介係詞的部分我們通常就會直接忽略掉,像 of 我們就可以忽略他 。 所以在創造縮寫時,這一類的詞請直接忽略 。 所有測資介係詞部分都會以小寫開頭 , 其餘則以大寫開頭 。 然而字串中間的其他字母則沒有固定,大小寫都有可能 。 讀完所有測資後結束程式。
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 9:14 PM]
2. <李晨維>
> [time=Sat, May 16, 2020 1:28 PM]
3. <吳冠毅>
> [time=Sat, May 16, 2020 2:06 PM]
4. <郭浩雲>
> [time=Sat, May 16, 2020 3:01 PM]
> 重複輸入又害我
5. <陳宜俊>
> [time=Wed, May 20, 2020 11:16 AM]
6. <吳品範>
> [time=Wed, May 20, 2020 11:57 AM]
7. <張嘉元>
> [time=Thu, May 21, 2020 1:31 PM]
8. <柯昀杰>
> [time=Thu, May 21, 2020 2:08 PM]
9. <李弘唯>
> [time=Sat, May 23, 2020 5:44 PM]
10. <胡韡薰>
> [time=Sat, May 30, 2020 8:54 PM]
> C寫字串真他媽麻煩
#### 前與現任社長提供的測資:
```
input:
Li Ming ComPuter Programing Science club
Jun Hsiang Is not a Handsome Boy So Sad (不要打我)
(Juen Xiang==俊翔,這才是真正的羅馬拼音)
```
```
output:
LMCPS
JHIHBSS
```
### 參考解答(社長提供):
#### C++:
```cpp=
#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
char temp;
while(getline(cin,str)){
for(int i=0;i<str.size();i++){
temp=str.at(i);
if(temp>='A' and temp <='Z' and (str.at((i>0)?i-1:i)==' ' or i==0))
cout << temp;
}
cout << endl;
}
return 0;
}
```
### 參考解答(社員提供):
---
### 6.<font color=#E6C35C>[C_ST94-中] 判別數字</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=10623)
#### 問題敘述:
寫出一個程式,再輸入隨意一行英文及數字後,可以判別出該行有幾個英文字和數字。
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 9:36 PM]
2. <李晨維>
> [time=Sat, May 16, 2020 1:49 PM]
3. <吳冠毅>
> [time=Sat, May 16, 2020 2:30 PM]
4. <郭浩雲>
> [time=Sat, May 16, 2020 3:21 PM]
> 被空格害到
5. <柯昀杰>
> [time=Sun, May 17, 2020 2:07 PM]
6. <張嘉元>
> [time=Wed, May 20, 2020 11:20 AM]
7. <陳宜俊>
> [time=Wed, May 20, 2020 11:28 AM]
8. <吳品範>
> [time=Fri, May 22, 2020 2:29 PM]
9. <副社長>
> [time=Sat, May 23, 2020 5:15 PM]
10. <胡韡薰>
> [time=Sat, May 23, 2020 5:58 PM]
#### 社長提供的測資:
```
input:
Apo0jpmgIh9t309bu98yw0v9bvy83qv 9q2ybf95vln3nqv
```
```
output:
30,16
```
### 參考解答(社長提供):
#### C++:
```cpp=
#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
char temp;
int numCount,charCount;
while(getline(cin,str)){
numCount=0;
charCount=0;
for(int i=0;i<str.size();i++){
temp=str.at(i);
if((temp>='a' and temp<='z') or (temp>='A' and temp<='Z'))
charCount++;
else if(temp>='0' and temp<='9')
numCount++;
}
cout << charCount << "," << numCount << endl;
}
return 0;
}
```
### 參考解答(社員提供):
---
### 7.<font color=#E6C35C>[C_RU37-易] 彈珠的位置</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=19232)
#### 問題敘述:
一彈珠沿x軸同向加速,每一秒鐘移動的距離為前一秒移動距離的2倍, 若第0秒時在座標3的位置, 第3秒在座標10的位置, 請問第t秒時的位置.
### 完成者:
1. <社長>
> [time=Fri, May 15, 2020 10:14 PM]
2. <吳冠毅>
> [time=Sat, May 16, 2020 2:55 PM]
> 要夠大
3. <郭浩雲>
> [time=Sat, May 16, 2020 7:02 PM]
4. <張嘉元>
> [time=Sat, May 16, 2020 10:15 PM]
5. <陳宜俊>
> [time=Tue, May 19, 2020 10:51 AM]
6. <李晨維>
> [time=Tue, May 19, 2020 2:50 PM]
> 過不了社長測資算過嗎XD
7. <柯昀杰>
> [time=Tue, May 19, 2020 2:51 PM]
> 社長提供的測資很可怕
8. <李弘唯>
> 園長的測資是不合邏輯的喔
> [time=Tue, May 19, 2020 9:09 PM]
9. <吳品範>
> [time=Sat, May 23, 2020 4:58 PM]
10. <胡韡薰>
> [time=Sat, May 30, 2020 10:03 PM]
> 錯得莫名其妙 只能代副社給的公式了XD
#### 社長提供的測資:
```
input:
5 25 30 1000 1234 41
```
```
output:
33554434
1073741826
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069378
295811224608098629060044695716103590786339687135372992239556207050657350796238924261053837248378050186443647759070955993120820899330381760937027212482840944941362110665443775183495726811929203861182015218323892077355983393191208928867652655993602487903113708549402668624521100611794270340232766099317098048887493809023127398253860618772619035009883272941129544640111837186
2199023255554
```
> <font color="#FF7433">41是我的座號,所以很大(X </font>
> [color=#d2ea69]
> [name=社長]
> 擔心看不到東西,怕爆
> [name=前社長]
> 注意測資OUTPUT 有改喔
> [name=李弘唯(副社長)]
### 參考解答(社長提供):
#### C++:
```cpp=
#include <iostream>
using namespace std;
long disp(int t){
if (t == 1)
return 1;
else
return 2 * disp(t - 1);
}
int main(){
int m,t;
long origin=3,end;
cin >> m;
while (m--){
cin >> t;
end = origin;
for (int i = 1; i <= t; i++)
end += disp(i);
cout << end << endl;
}
return 0;
}
```
#### Java:
```java=
import java.util.*;
//[C_RU37-易] 彈珠的位置
//2020/03/14;14:06
public class Main {
public static long disp(int t) {
if (t == 1)
return 1;
else
return 2 * disp(t - 1);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
long origin = 3;
long end;
while (m-- > 0) {
int t = sc.nextInt();
end = origin;
for (int i = 1; i <= t; i++)
end += disp(i);
System.out.println(end);
}
}
}
```
### 參考解答(社員提供):
---
### 8.<font color="#FF7433">[C_AR137-中] 找出睡臥姿勢</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=22855)
#### 問題敘述:
在一個 4X4 大小的囚房中,關著一個身高 3 的囚犯。這個囚犯因為後背受傷,所以睡覺時必定側臥且將雙手伸長,形成一個 3X2 的「 L 」形狀;但是囚房內經常會堆放一些不可移動的障礙物,所以這個囚犯必須在囚房內找出可以用「 L 」形姿勢睡臥的空間。
現在要你寫一個程式,幫這個囚犯找出共有幾個可以睡臥的姿勢。以下圖為例,黑色方塊表示障礙物,而這個囚犯能睡臥的的空間以白色空格表示,在圖中囚犯在上邊連續空白處有 1 個可睡臥空間,在下邊連續空白處有 2 個可睡臥空間。

### 完成者:
1. <社長>
> [time=Sat, May 16, 2020 12:47 PM]
2. <副社長>
> 我就低能。
> [time=Sun, May 17, 2020 7:38 PM]
3. <吳冠毅>
> [time=Wed, May 20, 2020 10:36 AM]
4. <李晨維>
> [time=Fri, May 29, 2020 9:06 PM]
5. <陳宜俊>
> [time=Sat, May 30, 2020 1:57 AM]
#### 社長提供的測資:
無。
### 參考解答(社長提供):
#### C++:
```cpp=
#include <bits/stdc++.h>
using namespace std;
int main(){
int N = 4;
int up, down, left, right;
int up_2, down_2, left_2, right_2;
int up_2_left, up_2_right, down_2_left, down_2_right;
int right_2_up, right_2_down, left_2_up, left_2_down;
int count = 0;
int arr[N+4][N+4];
int temp;
memset(arr, -1, sizeof(arr));
for (int i = 2; i <= N + 1; i++)
for (int j = 2; j <= N + 1; j++){
cin >> temp;
if(temp==1)
arr[i][j]=-1;
else
arr[i][j]=temp;
}
for (int i = 2; i <= N + 1; i++){
for (int j = 2; j <= N + 1; j++){
if (arr[i][j] == -1)
continue;
else{
up = arr[i - 1][j];
down = arr[i + 1][j];
left = arr[i][j - 1];
right = arr[i][j + 1];
up_2 = arr[i - 2][j];
down_2 = arr[i + 2][j];
left_2 = arr[i][j - 2];
right_2 = arr[i][j + 2];
up_2_left = arr[i - 2][j - 1];
up_2_right = arr[i - 2][j + 1];
down_2_left = arr[i + 2][j - 1];
down_2_right = arr[i + 2][j + 1];
right_2_up = arr[i - 1][j + 2];
right_2_down = arr[i + 1][j + 2];
left_2_up = arr[i - 1][j - 2];
left_2_down = arr[i + 1][j - 2];
if (up == 0 && up_2 == 0){
if (up_2_left == 0)
count++;
if (up_2_right == 0)
count++;
}
if (down == 0 && down_2 == 0){
if (down_2_left == 0)
count++;
if (down_2_right == 0)
count++;
}
if (left == 0 && left_2 == 0){
if (left_2_up == 0)
count++;
if (left_2_down == 0)
count++;
}
if (right == 0 && right_2 == 0){
if (right_2_up == 0)
count++;
if (right_2_down == 0)
count++;
}
}
}
}
cout << count << endl;
return 0;
}
```
### 參考解答(社員提供):
---
### 9.<font color="#FF7433">[C_AR138-中] 斜行矩陣</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=22871)
#### 問題敘述:
斜行矩陣是一個矩陣,其中每個 cell 都填滿整數,且每個整數以斜行的方式排列。下圖為二個 size = 5 的斜行矩陣。圖 (a) ,數字由 1 開始,以正斜的方向排列,而圖 (b) 則是一個反斜的斜行矩陣。
```
011 007 004 002 001
016 012 008 005 003
020 017 013 009 006
023 021 018 014 010
025 024 022 019 015
(a) 正斜矩陣
```
```
001 002 004 007 011
003 005 008 012 016
006 009 013 017 020
010 014 018 021 023
015 019 022 024 025
(b) 反斜矩陣
```
請寫一個程式,接受輸入矩陣大小及排列方式,並將斜行矩陣印出。
### 完成者:
1. <社長>
> [time=Sat, May 16, 2020 2:05 PM]
2. <副社長>
> 倒吃甘蔗就是爽。
> [time=Sat, May 16, 2020 11:37 PM]
3. <郭浩雲>
> [time=Sun, May 17, 2020 3:59 PM]
> 爽啦
4. <吳冠毅>
> [time=Sat, May 23, 2020 5:25 PM]
> 段考前寫程式,怕
> 眼睛蓋起來,忘記排名及分數就不會怕了
> [name=前社長]
5. <陳宜俊>
> [time=Sat, May 30, 2020 7:19 PM]
6. <李晨維>
> [time=Sat, May 30, 2020 8:42 PM]
#### 社長提供的測資:
無。
### 參考解答(社長提供):
#### Java:
```java=
import java.util.*;
//[C_AR138-中] 斜行矩陣
//2019,08,28;21:17
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
// 矩陣外擴一環
int[][] arr = new int[x + 2][x + 2];
// 整個陣列初始值皆為-1以便判斷矩陣邊界
for (int i = 0; i < arr.length; i++)
Arrays.fill(arr[i], -1);
// 原矩陣範圍內初始值設為0
for (int i = 1; i <= x; i++)
for (int j = 1; j <= x; j++)
arr[i][j] = 0;
// 預設為反斜矩陣
for (int j = 1, k = 1, i = 1, tempj = 0, count = 0, tempi = 1; true;) {
// tempi預設為1代表剛開始皆從矩陣第一列開始填值
// tempj暫時紀錄每一次j的初始位置
i = tempi;
tempj = j;
do {
// 斜向填值,直到遇到邊界
arr[i][tempj] = k++;
i++;
tempj--;
} while (arr[i][tempj] != -1);
// 每完成一斜行紀錄一次
count++;
// 當count<x 繼續向右遞進
// 當count>x時,代表已走到橫下標,開始向縱下標方向遞進
if (count < x)
j++;
else
tempi++;
// 若k>x^2代表矩陣已經填滿
if (k > x * x)
break;
}
// 若y為2則照原結果印出,若不然則左右顛倒印出
if (y == 2) {
for (int i = 1; i <= x; i++) {
for (int j = 1; j <= x; j++) {
if (j == 1)
System.out.printf("%03d", arr[i][j]);
else
System.out.printf(" %03d", arr[i][j]);
}
System.out.println();
}
} else {
for (int i = 1; i <= x; i++) {
for (int j = x; j >= 1; j--) {
if (j == x)
System.out.printf("%03d", arr[i][j]);
else
System.out.printf(" %03d", arr[i][j]);
}
System.out.println();
}
sc.close();
}
}
}
```
### 參考解答(社員提供):
---
### 10.<font color="#f00">[C_AR78-易] 最佳得分點</font>
#### =>[題目連結](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=2333)
#### 問題敘述:
2011 年,世界舉行全球足球賽,地點正好位於台北小巨蛋,台灣隊伍想到一個必勝的方法,把足球場化為座標格,離球框最近的位置就是得分的關鍵,只要找到那黃金射門點,就一定可以得分,試求出最佳得分點。

### 完成者:
1. <社長>
> [time=Sat, May 16, 2020 12:52 PM]
2. <副社長>
> 倒吃甘蔗的紅微幅攝大帥哥。
> [time=Sat, May 16, 2020 2:38 PM]
3. <郭浩雲>
> [time=Tue, May 26, 2020 1:30 PM]
> 這題怎麼會是最難的?我覺得8看起來比較難🤔
> ***都不難***
> [name=社長]
4. <吳冠毅>
> [time=Fri, May 29, 2020 11:43 PM]
> 感謝上帝,可以洗洗睡了
5. <陳宜俊>
> [time=Sat, May 30, 2020 10:48 PM]
> 終於寫完了
#### 社長提供的測資:
無。
### 參考解答(社長提供):
#### C++:
```cpp=
#include <bits/stdc++.h>
#define MAX 100
using namespace std;
typedef struct node{
double d;
int x;
int y;
} pos;
bool cmp(pos a,pos b){
if(a.d==b.d){
if(a.x==b.x)
return (a.y<b.y);
else
return (a.x<b.x);
}
else
return(a.d<b.d);
}
pos arr[MAX];
int main(){
int x,y,j=0,goal_x,goal_y;
while(cin >> x >> y){
if((x==-1 and y==-1)or j>=MAX)
break;
arr[j].x=x;
arr[j].y=y;
j++;
}
cin >> goal_x >> goal_y;
for(int i=0; i<j; i++)
arr[i].d=pow(arr[i].x-goal_x,2)+pow(arr[i].y-goal_y,2);
sort(arr,arr+j,cmp);
double min_d=arr[0].d;
for(int i=0; i<j; i++){
if(arr[i].d==min_d)
cout << arr[i].x << " " << arr[i].y << endl;
else
break;
}
return 0;
}
```
### 參考解答(社員提供):
---
## 統計表
### <font color="#3AAA">一至四題
| 第一題 | 第二題 | 第三題 | 第四題 |
| ------ | ------ | ------ | ------ |
| 16 | 14 | 12 | 13 | </font>
### <font color="#E6C35C">五至七題
| 第五題 | 第六題 | 第七題 |
| ------ | ------ | ------ |
| 10 | 10 | 10 | </font>
### <font color="#FF7433">八與九題
| 第八題 | 第九題 |
| ------ | ------ |
| 5 | 6 | </font>
### <font color="#f00">第十題和全對者
| 第十題 | 全對者 |
| ------ | ------ |
| 5 | 4 | </font>
---
> [time=Sun, May 31, 2020 11:01 PM]
###### tags: `社內考試`