題目:
http://acm.hdu.edu.cn/showproblem.php?pid=2149
題解:
先假設一種簡單情況,M=N+1(M為地價,N為加價),這種情況下,無論先加價者無論如何出價,假設為X,另一個人都可以以 M-X 的價格買下土地(因為X大於1,M-X必在可出價的范圍內)。到這裡是不是有點感覺了,如果 M%(N+1)==0,假設 M=k*(N+1) 無論先加價者出什麼價X,另一個人都可以以(N+1-X)的價格出價,使M=(k-1)*(N+1),按這種方式到最後先出價者還是要面臨M=N+1的局面。到這裡是不是已經可以不用往下看了。 所以如果 M%(N+1)==0 先出價者必輸。 M%(N+1)!=0,先出價者出 M%(N+1) 的價格必贏。
代碼:
#includeint main() { int N,M; while(~scanf("%d%d",&N,&M)) { if(M>=N) { for(int i=N;i