TopCoder

icube
baluteshih 好強 <(_ _)>

User's AC Ratio

82.1% (23/28)

Submission's AC Ratio

29.9% (138/461)

Tags

Description

有一天,兩個極S的蘿莉控,你和叡叡,抓到了新鮮可口的$1<n<10^ 6$個小蘿莉。這兩個蘿莉控有極為病態的趣味。你和叡叡非常喜歡輪流將小蘿莉們排成一個長和寬都大於1的矩形,並選擇一排小蘿莉,逐一撲倒。被撲倒的小蘿莉會因為傷心欲絕而自盡。於是小蘿莉們的數量便會不斷減少,直到剩下來的小蘿莉們再也排不出一個矩形(也就是說只剩下1個或質數個小蘿莉)。如果這時輪到了叡叡,叡叡便會因為不能撲倒蘿莉而撲倒你。
其實,叡叡既身為蘿莉控,也是一個蘿莉,你早想從他背後狠狠地撲下去了。但是比起撲倒他,被他撲倒更好,你這樣對自己說。

所以為了被撲倒,戰鬥吧,少年。

Input Format

本題沒有輸入。如果你輸入的話,叡叡會跳舞給你看。
#include "lib1820.h"以獲得一起和叡叡撲倒小蘿莉們的權利。
引入檔裡有3個函數供使用:
int initial();
int first(bool is_first);
int play_with_loli(int loli_number);
請在一開始呼叫第一個函式以初始化並獲得初始小蘿莉數量。如果呼叫的時候沒有好好記下小蘿莉的數量,接下來就只能看叡叡撲小蘿莉囉。除此之外,如果你呼叫這個函式超過一次,你將會獲得一個WA。
第二個函式可以讓你選擇要先要後。如果要先的話,請呼叫first(true),後的話請呼叫first(false)。如果你選擇後手,這個函式會回傳叡叡一開始要撲倒的蘿莉數。同樣地,不要呼叫這函式超過一次,不然你還是會得到一個WA。
第三個函式可以讓你選擇要撲倒幾個蘿莉。這個函式會回傳一個數,代表接著叡叡撲倒的蘿莉數量。如果叡叡無法撲倒蘿莉了,程式會自動結束,你就會獲得一個AC。如果你選擇撲倒的蘿莉數不整除當前的蘿莉數,或者你選擇撲倒0,1個或全部的蘿莉,你都會得到一個WA。

Output Format

本題沒有輸出。如果你輸出的話,叡叡會跳舞給你看。

Hints

其實本來不是你跟叡叡,是柏柏跟叡叡。
2018/03/27優化Interactive library。

Problem Source

Baltic Way 2013 p7

Subtasks

No. Testdata Range Score
1 0~9 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 600 65536 262144 1
1 600 65536 262144 1
2 600 65536 262144 1
3 600 65536 262144 1
4 600 65536 262144 1
5 600 65536 262144 1
6 600 65536 262144 1
7 600 65536 262144 1
8 600 65536 262144 1
9 600 65536 262144 1