无法理解背后的逻辑

时间:2019-10-16 02:45:22

标签: python-3.x

  

贝兰(Berland)足球赛季刚刚结束。根据Berland足球规则,每场比赛在两支球队之间进行。每场比赛的结果要么是平局,要么是其中一支比赛队的胜利。如果某支球队赢得比赛,则得到w分,而另一支球队得到0分。如果比赛结果为平局,则两队都将获得d点。

     

Berland资本团队的经理想总结本赛季的结果,但是不幸的是,有关每场比赛结果的所有信息都丢失了。经理只知道球队打了n场比赛,并为他们赢得了p分。

     

您必须确定三个整数xyz-球队的胜负数。如果有多个答案,请打印其中的任何一个。如果没有合适的三元组   [x,y,z)   [x,y,z)   ,对此进行报告。

     

http://codeforces.com/contest/1244/problem/C

上面的链接包含了完整的问题

n,p,w,d=map(int,input().split())
z=0
left=n
x=0
***while(z<=w) :***
    left=p-z*d
    if(left%w==0) :
        x=left//w
        break
    z+=1
if(x+z>n) :
    print("-1")
elif(x<=0 and z*d!=p) :
    print("-1")
else :
    print(x,z,n-x-z)

不了解while循环条件。按照我的逻辑,A / c应该为 while(left <= 0) ,但显示大输入的TLE。

为什么当 z <= w 时必须停止,我的意思是我们也可以在此点后获得红利

0 个答案:

没有答案
相关问题