- 睡前的电话
- 2015-02-17 19:01:33 @
感觉#7和#8应该是n%3==0的情形
【之前写错一个数……会导致n%3==0的情形只输出-1……
修改之后虽然#7和#8还是WA(那么这两个点肯定不是-1了),
但是程序的运行时间足足长了一倍(应该多在输出上了……)】
现在,
当n%3==0时,如果方程组有解,则必有无穷多组整数解,
不过如果t[0]确定,那么t[3],t[6],...也随之确定,
同样地如果t[1]确定,那么t[4],t[7],...也随之确定,
然后……如果t[0],t[1]确定了,t[2]也确定了……然后所有都确定了,
于是……
我现在暂定t[0]=1,然后计算t[3],t[6],....,
找出其中最小的数,记其大小为t,如果t=1就皆大欢喜,
否则令t[0]=2-t,这相当于把所有数加上1-t,使得最小数=1,
对t[1]进行相同操作,
这样能使t[0]和t[1]最小化,
然后再依次计算t[2],t[3],...,t[n-1],
若t[n-1]+t[0]+t[1]!=b[0]或者t[n-2]+t[n-1]+t[0]!=b[n-1]
则此时原方程是无解的,
否则判断是否每一个数≥1,
根据之前的操作,此时只有t[2],t[5],...可能≤0,
如果这组解是合法的,由于t[0],t[1]最小,应该是字典序最小的一组解……
虽然还是WA了#7和#8……
【或者这两组数据其实不是n%3==0的情形?】
于是现在各种求解……先预支万分的感谢好啦……
3 条评论
-
小岛 LV 10 @ 2015-02-24 03:56:28
楼主您若感受出来了出题人想表述啥,烦劳告之。我实在不想去研究std了。
-
2015-02-20 12:29:58@
所以说……
3
3 3 3
应该输出什么?
t[0]可以取无穷小…… -
2015-02-17 22:00:54@
很遗憾,这一题的数据依然出现了错误,准确说是题目描述出现了错误。
在本题中,t[]是允许为负整数的。
万分抱歉...=_=....
- 1