Skip to content

Commit

Permalink
pB statement
Browse files Browse the repository at this point in the history
  • Loading branch information
littlecube committed Sep 11, 2023
1 parent a2f3ccf commit 2507e8e
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 28 deletions.
56 changes: 56 additions & 0 deletions cover.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
\documentclass[a4paper]{article}
\title{Cover}
\usepackage[left=2cm,right=2cm,top=3cm,bottom=2cm]{geometry}
\usepackage{fontspec}
\usepackage{xeCJK}
\setCJKmainfont[]{Noto Sans Mono CJK TC}
\setCJKmonofont[]{Noto Sans Mono CJK TC}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
\usepackage{anyfontsize}
\usepackage{t1enc}
\usepackage{listings}
\lstset{language=C++,basicstyle=\ttfamily}
\begin{document}

\begin{center}
\textbf{\huge TODO競賽名稱}\\
\vspace{5mm}
\textbf{\huge TODO競賽名稱\ 試題本}\\
\vspace{10mm}
\rule{17cm}{2pt}\\
\vspace{5mm}

\huge 競賽規則\\
\end{center}

\fontsize{14pt}{20pt}\selectfont
\begin{enumerate}
\setlength\itemsep{0.5pt}
\item 競賽時間:202TODO/TODO/TODO TODO:TODO \textasciitilde \, TODO:TODO,共 TODO 小時。
\item 本次競賽試題共 TODO 題,每題皆有子任務。
\item 為了愛護地球,本次競賽題本僅提供電子檔,不提供紙本。
\item 每題的分數為該題所有子任務得分數加總;單筆子任務得分數為各筆繳交在該筆得到的最大分數。
\item 本次初選比照南區賽提供記分板,複選比照全國賽不提供記分板。
\item 全部題目的輸入皆為標準輸入。
\item 全部題目的輸出皆為標準輸出。
\item 所有輸入輸出請嚴格遵守題目要求,多或少的換行及空格皆有可能造成裁判系統判斷為答案錯誤。
\item 每題每次上傳間隔為 120 秒,裁判得視情況調整。
\item 所有試題相關問題請於競賽系統中提問,題目相關公告也會公告於競賽系統,請密切注意。
\item 如有電腦問題,請舉手向監考人員反映。
\item 如有如廁需求,須經過監考人員同意方可離場。
\item 不得攜帶任何參考資料,但競賽系統上的參考資料可自行閱讀。
\item 不得自行攜帶隨身碟,如需備份資料,請將資料儲存於電腦 D 槽。
\item 競賽中請勿交談。請勿做出任何會干擾競賽的行為。
\item 如需使用 C++ 的 \lstinline{std::cin} 或 \lstinline{std::cout} 可將以下程式碼插入 main function 以及將 \lstinline{endl} 取代為 \lstinline{'\n'} 來優化輸入輸出速度。唯須注意不可與 \lstinline{cstdio} 混用。
\begin{lstlisting}
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
\end{lstlisting}

\end{enumerate}

\begin{center}
\rule{17cm}{2pt}\\
\end{center}
\end{document}
2 changes: 1 addition & 1 deletion pB/problem.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"contest_name": "TPS範例題目",
"problem_label": "B",
"name": "pB",
"title": "浮點誤差但不使用checker",
"title": "細胞培養",
"memory_limit": 512,
"time_limit": 1.0,
"type": "Batch",
Expand Down
27 changes: 16 additions & 11 deletions pB/statement/index.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
# 浮點誤差但不使用checker
# 細胞分裂

<!-- \begin{figure}[h]
\centering
\includegraphics[width=2in]{TODO.jpg}
\caption{TODO: 圖片說明}
\end{figure} -->
台南第一高級生物研究小組在執行細胞培養實驗,不過最近研究小組在偷懶,你的任務就是抓到他們。

輸出 $A * B / C$。
你收到了一些實驗紀錄,每個實驗紀錄是連續 $N$ 小時的紀錄。照理來講研究小組應該要每一小時輪班把全部的細胞培養皿都取出,紀錄數量以及並且重新更換培養液,不過研究小組的偷懶方式是這樣的:

## 輸入
第一行有三個浮點數 $A, B, C$。
- 每一小時只取出一個培養皿。
- 紀錄這個培養皿的細胞數量。
- 更換培養液並把培養皿放回。

根據之前的研究結果,原本有 $K$ 個細胞的培養皿更換培養液之後,一小時後會長到 $2K$ 個細胞,但在任意時間下都不會長到超過 $3K$ 個細胞。

現在你有每一小時的紀錄,第 $i$ 小時的紀錄是 $c_i$,你想知道每個小時取出的培養皿**有沒有可能在之後的實驗繼續被取出**,請寫一個程式解決這個問題。


## 輸入
第一行有一個正整數 $N$,第二行有 $N$ 個以空白分開的整數,第 $i$ 個代表 $c_i$。
## 輸出
輸出 $A * B / C$
輸出 $N$ 個以空白分開的字串,如果第 $i$ 天研究小組取出的培養皿**有可能在之後的實驗繼續被取出**,則輸出 `Yes`,否則輸出 `No`

## 輸入限制
- $0 < A, B, C \leq 10^{12} + 1$
- $1 \leq N \leq 3 \times 10^5$
- $0 \leq c_i \leq 10^9$

## 子任務
\subtasks
Expand Down
19 changes: 13 additions & 6 deletions pB/subtasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,23 @@
"text": "範例輸入輸出",
"validators": []
},
"simple": {
"n2": {
"index": 1,
"score": 20,
"text": "Simple tests",
"score": 25,
"text": "$N \\leq 2000$",
"validators": []
},
"hacked": {
"nc": {
"index": 2,
"score": 80,
"text": "Hacked tests",
"score": 36,
"text": "$c_i \\leq 40$",
"validators": []
},
"full":
{
"index": 3,
"score": 39,
"text": "無額外限制",
"validators": []
}
}
Expand Down
20 changes: 12 additions & 8 deletions pC/statement/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,30 @@

太平洋上有許多許多的小島,這些小島都具有美麗的景觀,有些甚至有獨特的原住民文化。不過不幸的是,全球海平面正在上升,因此台南第一高級調查小組想要知道這些小島的**求救指數**

從空拍圖來看,一群島嶼可以視為一個 $N \times M$ 的網格,其中有些格子是水域(`#`)、有些格子是陸地(`.`)。調查小組在事先的視覺研究中發現,長的像 X 字形求救圖案是最容易從衛星上高空捕捉的。因此,假設把第 $i$ 列第 $j$ 行的格子記為 $(i, j)$,他們認為一個容易看見的求救訊號是選取一些格子**生火**,並且滿足以下的條件:
從空拍圖來看,一群島嶼可以視為一個 $N \times M$ 的網格,其中有些格子是水域(`1`)、有些格子是陸地(`0`)。調查小組在事先的視覺研究中發現,長的像 X 字形求救圖案是最容易從衛星上高空捕捉的。因此,假設把第 $i$ 列第 $j$ 行的格子記為 $(i, j)$,他們認為一個容易看見的求救訊號是選取一些格子**生火**,並且滿足以下的條件:

- **生火**的位置都在陸地上,也就是水域是不能**生火**的。
- 存在中心位置 $(x_0, y_0)$ 是有**生火**的。
- 存在**中心位置** $(x_0, y_0)$ 是有**生火**的。
- 存在一個**半徑** $d$ 滿足所有 $|x - x_0| = |y - y_0| \leq d$ 的位置 $(x, y)$ 都有生火。
- 剩下的位置都沒有**生火**

一個島嶼空拍圖的**求救指數**就是所有合法求救訊號的可能中,最大的**半徑** $d$。
一個島嶼空拍圖的**求救指數** $D$ 就是所有合法求救訊號的可能中,最大的**半徑** $d$。

由於太平洋區域相當大,台南第一高級調查小組找來了你幫忙他們分析。請寫一個程式求出島嶼空拍圖的**求救指數**
由於太平洋區域相當大,台南第一高級調查小組找來了你幫忙他們分析。請寫一個程式求出島嶼空拍圖的**求救指數** $D$ 以及半徑為 $D$ 的所有合法求救訊號中,中心位置最小字典序的選擇

## 輸入
## 輸入格式
第一行有兩個以空白分開的正整數 $N, M$。
接著有 $N$ 行,第 $i$ 行含有一個長度為 $M$ 的字串 $S_i$,$S_{i, j}$ 如果是 `#`,表示是位置 $(i, j)$ 是水域;$S_{i, j}$ 如果是 `.`,表示是位置 $(i, j)$ 是陸地。
接著有 $N$ 行,第 $i$ 行含有一個長度為 $M$ 的字串 $S_i$,$S_{i, j}$ 如果是 `1`,表示是位置 $(i, j)$ 是水域;$S_{i, j}$ 如果是 `0`,表示是位置 $(i, j)$ 是陸地。

## 輸出
輸出島嶼空拍圖的**求救指數**
## 輸出格式
輸出三個以空白分開的數字 $x, y, D$,分別代表最小字典序的中心位置座標 $(x, y)$,以及島嶼空拍圖的**求救指數** $D$,也就是說有兩個以上的中心座標選擇時,所有能夠達成半徑 $D$ 的中心座標 $(x', y')$ 都必須滿足下列兩者其一:

- $x < x'$
- $x = x', y \leq y'$

## 輸入限制
- $1 \leq N, M \leq 2000$
- $S_{i, j}$ 都為 `0``1` 其一。

## 子任務
\subtasks
Expand Down
4 changes: 2 additions & 2 deletions pC/subtasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
"n4": {
"index": 1,
"score": 14,
"text": "$N, M \\leq 50",
"text": "$N, M \\leq 50$",
"validators": []
},
"n3": {
"index": 2,
"score": 46,
"text": "$N, M \\leq 500",
"text": "$N, M \\leq 500$",
"validators": []
},
"full": {
Expand Down

0 comments on commit 2507e8e

Please sign in to comment.