2016年4月21日 星期四

(Python) (Codeforces) 664B. Rebus

http://codeforces.com/contest/664/problem/B

如果標題有Python,就代表說我是用Python寫的XDDD

其實都可以用C++寫喔

這題的大意是說:給你一個式子,表達成? + ? - ? + ? ....... = n,?的數字必須介於[1,n],可以重複。你的目標是:判斷這個等式可不可以成立,如果成立了,請輸出任意一組解。

例如:? + ? - ? = 3,可以說是2 + 3 - 2 = 3

我的作法:總共會有c1個+,c2個-,對於每個正負,正的最大可以到c1*n,最小的到c1,負的最大可以到c2*n,最小可以到c2,可以創造出來的值就介於c1*n - c2 >= val >= c1 - c2*n。如果這個val可以成立,那我就先是如果正的部分是c1*n,可不可以有相對應的負值,如果有,就輸出(等等再講),沒有的話,那就設定負的部分是c2*n,再去找相對應的正值。

如何輸出呢:先盡可能地接近平均XDDD

http://codeforces.com/contest/664/submission/17419599


沒有留言:

張貼留言