显示代码纯文本
#include <fstream>
#include <algorithm>
using namespace std;
ifstream ci("MrBA1.in");
ofstream co("MrBA1.out");
int s[51]={0},a=0,b=0,l=0,r=0,x=0,ans=0;
bool li[27]={0};
int main()
{
ci>>a>>b>>l>>r;//输入数据
/*************************************************************************/
for(int i=1;i<=a;i++)
s[i]=i;
for(int i=1;i<=b;i++)
s[a+i]=s[a];
if(a==1)
{
for(int i=1;i<=a-1;i++)
s[a+b+i]=s[i];
s[a+b+a]=a+1;
}
else
{
x=(a<b)?a-1:b;
for(int i=1;i<=x;i++)
s[a+b+i]=s[i];
s[a+b+a]=s[a+b]+1;
for(int i=1;i<=a-b;i++)
s[a+b+b+i]=a+i;
if(a==b)
s[a+b+a]=a+1;
}
for(int i=1;i<=b;i++)
s[a+b+a+i]=s[a+b+a];
/**************************************************************************///建立循环关系
if((r-l)>=2*(a+b))
{
l=1;
r=2*(a+b);
}
else
{
l%=2*(a+b);
r%=2*(a+b);
}
if(!r)
r=2*(a+b);
for(int i=l;i<=r;i++)
li[s[i]]=1;
for(int i=1;i<=26;i++)
if(li[i])
ans++;
/*for(int i=1;i<=2*(a+b);i++)
co<<s[i]<<' ';co<<endl;*/
co<<ans<<endl;
ci.close();
co.close();
return 0;
}