心思散漫,看着题目就蛋疼,于是乎挑了一个软柿子捏。
刚开始真心没想到如此简单,虽然通过率很高。既然是模拟题,那就肯定要找规律,但是刚开始我倒是没有想到从每一层的科目个数上去寻找规律,而是想着把每门科目之后考试科目的规律找出来。找了一会毫无结果。把图画出来,瞬间,秒破!
program p1093; var i,j,k,n,m,t:int64; begin read(n); i:=1;j:=1;k:=2;t:=0; if n=1 then write(1) else if n=2 then write(1) else if (n<>1)and(n<>2) then begin repeat k:=k+1; t:=(i+j)mod 7654321; if k<=n then begin i:=j; j:=t; end; until k=n; write(t); end; end.
一定要记得在中途 mod 7654321,否则过不了。第一次提交就轻敌了,以为Int64毫无压力,结果你懂得。
做做这种题目就当是一种休闲吧,愉悦身心!
原题地址:http://www.vijos.org/Problem_Show.asp?id=1093
By ZYT
2012.10.05