在學校,老師們讓學生們互相改考卷的情況並不罕見。但是過了16:30後,就會有很多人請假,導致在改考卷時會常常發生一個人要改一張以上的考卷的情況。
一但讓一位學生同時改超過一張考卷時,考卷被改錯的機率就會大大提升
老師為了確保每一張考卷都可以被正確的批改,決定使用以下的方式:
把自己的考卷給自己座號的下一號學生批改,但是如果自己的下一號學生請假,則把考卷給自己的再下一號學生,直到有學生可以幫你批改考卷,每一位沒有請假的學生都是如此
例如:
1.5號學生請假,4號學生的考卷原本要給5號學生批改,但是因為5號學生請假,於是4號學生會把考卷給6號學生
2.5、6號學生都號請假,4號學生會把考卷給7號學生批改
3.如果全班有5位學生,4號學生的考卷會給0號學生批改
4.如果全班有5位學生,且0號學生請假,則4號學生的考卷會給1號學生批改
因為學生們常常不知道誰請假,於是都會問老師。久而久之,老師因為不耐煩,決定找一個不需要回答學生這類問題的方法
而且他也想與請假的學生約談
於是他找到了你,把此項任務交給了你
你可以幫助老師嗎?
註:以上故事為虛構,我相信沒有任何一個老師會這麼做
單筆測資
第一行輸入一數$n$,代表全班的人數,以及全班學生的號碼為$0$~$n-1$號
第二行輸入一數$t$,代表有哪些號碼的學生請假
接下來$t$行,每行輸入一數$a$,代表號碼為$a$的學生請假
第$t+3$行開始,輸入一數$q$,代表有$q$筆詢問
接下來$q$行,每行輸入一數$b$,代表查看$b$號學生的考卷要給哪一號批改
對於每一行$q$,輸出一數為$b$號學生需要給哪一號碼之學生批改
如果$b$號學生請假,則輸出"no"(不含引號)
50 5 0 3 7 8 9 6 49 2 6 10 11 0
1 4 10 11 12 no
$#0~#2$測資:
$0 \leq n \leq 50$
$0 \leq t \leq 30$
$0 \leq a \leq n-1$
$0 \leq q \leq 50$
$#3~#6$測資:
$0 \leq n \leq 10^5$
$0 \leq t \leq 5*10^4$
$0 \leq a \leq n-1$
$0 \leq q \leq 7*10^4$
$#7~#9$測資:
$0 \leq n \leq 10^7$
$0 \leq t \leq 10^7-2$
$0 \leq a \leq n-1$
$0 \leq q \leq 5*10^6$
所有變數皆為正整數
在送出程式碼前,請在$int\ main()$的最開始加上ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |