---
# System prepended metadata

title: 黎明高中資訊社第一次段考
tags: [社內考試]

---

# 黎明高中資訊社第一次段考
---
## 目錄:
> [TOC]
## 說明:
原則上與平時考無太大的不同。但是總共會有10題，4題簡單，3題基本，2題中等，1題難題。
## 完成者填寫說明:
跟平時考規則相同。
## 時間:
2020/05/15至2020/05/31<10 p.m>
## 獎勵:
1.高一:社長參政權(X)
2.高二:飲料
## 社長的話:
當“我們”的學弟在上次平時考五題全對，於是“我們”的社長這次挑題目時：
![我將大開殺戒](https://i.imgur.com/fH87TmS.jpg)
> [name=風思]
> [color=#f55f]
## 副社長的話:
>1. 白天工作，晚上讀書，假日批判。
>2. 是男人就倒吃甘蔗(從第10題開始寫)。
>3. 唯有 舉起你的右手，才能打破資本主義的高牆。
>[color=#85fe]

![假日批判](https://i.imgur.com/myWpOjr.jpg)
> 簡單來講就是自求多福吧
> [color=#85fe]
> [name=李弘唯]
## 吉祥物的話:
無論遇到甚麼困難都不要怕，幹就完事了!我的頭髮QWQ
![奧力给](https://i.imgur.com/VDuH47f.jpg)


## 解答:
社長解答已釋出。

---
### 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 個可睡臥空間。
![](https://i.imgur.com/9sENB97.jpg)
### 完成者:
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 年，世界舉行全球足球賽，地點正好位於台北小巨蛋，台灣隊伍想到一個必勝的方法，把足球場化為座標格，離球框最近的位置就是得分的關鍵，只要找到那黃金射門點，就一定可以得分，試求出最佳得分點。
![](https://i.imgur.com/7iDDy6z.jpg)

### 完成者:
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: `社內考試`









