这不是一道难题,但是一次AC还是不易的,因为有些细节问题很容易忽略,首先可以两题答错(x=0),也可以只答对一题,也可以两题皆对。
AC code
#include <iostream>
using namespace std;
int main()
{
int x,t,a,b,da,db,i;
double ta,tb;
bool flag;
while(cin>>x>>t>>a>>b>>da>>db)
{
flag=false;
if(x==0) flag=true;
for(i=0;i<t && !flag;i++)
{
int m=x-(a-i*da);
if(m==0 || m==b)
{
flag=true;
}
else if(m>0 && m<b)
{
tb=1.0*(b-m)/db;
if((int)tb==tb && tb>=0 && tb<t)
{
flag=true;
}
}
}
for(i=0;i<t && !flag;i++)
{
int m=x-(b-i*db);
if(m==0 || m==a)
{
flag=true;
}
else if(m>0 && m<a)
{
ta=1.0*(a-m)/da;
if((int)ta==ta && ta>=0 && ta<t)
{
flag=true;
}
}
}
if(flag) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
Codeforces比赛得分策略
本文探讨了在Codeforces特定比赛中,参赛者Valera如何通过解决两个随时间减少分数的问题来获得确切的分数x。文章详细解释了比赛机制,并提供了一个算法解决方案来验证目标分数是否可实现。
1万+

被折叠的 条评论
为什么被折叠?



