第一次正式组队,第一场组队后比赛。
仍有很多问题,仍需继续努力
开题后,没有找对题目,上去读了个难题(最后只有一队出了这个题),发现别人把J题A了,抓紧看了J题。
12分12秒,敲完交上,交成了C语言,编译错误。
12分39秒, J题AC(-1)。
这时候I题已经有人出了,判断一个数字里面含不含4,忘了怎么数字转换字符串,卡了一下,队友来写,队友手写转换函数卡住。换回来,队友又说4一直加10就可以解决了。。当时着急没多想,开始敲,敲完立马交。
30分40秒 Wrong Answer
后来以为中间细节错了,改了又交
31分34秒 Wrong Answer
太着急了!发现不对。。(丢人)。找到itoa()函数,忘了参数怎么写,最后用了sprintf(str, "%d", i);
41分55秒 I题AC(-2)。排名在山科 倒数第一。
再看F题,大坑题,想来想去,还是认为是从大到小输出数。
1小时08分54秒,直接交,Wrong Answer
很奇怪,后来发现,奇数是从大到小,偶数怎么都不行,只能输出-1。。(又丢人)
1小时46分53秒 F题AC(-1)。排名稍微往前。
这时候大家基本都A了三个题,又读了D题和H题,D题理解不懂,直接开H题。
H题推的很欢乐,推出来我想到了一个循环,就开始敲,敲完就交了,感觉还挺好。
2小时18分56秒 H题 时间超限。
循环太慢了,重新找规律,我发现人总要向澡堂让步,通过之前代码得出的答案,推出两个乘积的差为1或0.队友说是扩展欧几里得,立马翻书。
之前做过一个扩展欧几里得,当时也是不会,后来也没补。(还是学得少啊)
扩展欧几里得:a*x+b*y=gcd(a,b)
对于这个题,gcd == 1 的时候才会用到这个来求x,y。 但是得出的只有其中一个(x,y),其中一个为负数,而且题目中必须 b*y - a*x == 1.公式得出来的可能是 -1.
得不出答案,书中写到有多组解,解等于 x+ka' , y-kb' (a' = a / gcd(a,b) , b' = b / gcd(a,b) ,k为整数).
太着急,想不出k怎么得出,暴力加减未果。后来灵感来了,只有a>0才不符合情况,a只能减b。
4小时04分58秒 H题 AC(-1)。排名第十。
剩下的为知识盲区,仍需努力学习提高。
这次前几个题目比较水,没有把握好机会,导致罚时太高,近乎垫底。后来A了H题还算扳回一些。做题太着急了~~
继续努力吧~
hhhhhh