#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int T,x,y,ans,g,l1,r1,l2,r2;
int init()
{
int x=;char s=getchar();bool f=;
while(s<''||s>''){if(s=='-')f=;s=getchar();}
while(s>=''&&s<=''){x=x*+s-'';s=getchar();}
if(f)return -x;return x;
}
void E_gcd(int a,int b)
{
if(b==)
{
x=;y=;g=a;
}
else
{
E_gcd(b,a%b);
int tmp=x;
x=y;
y=tmp-a/b*y;
}
}
int main()
{
int a,b,c,i,j;
T=init();
while(T--)
{
ans=;
a=init();b=init();c=init();
c=-c;
l1=init();r1=init();l2=init();r2=init();
if(a==&&b==)
{
if(c!=||l1>r1||l2>r1)
{
printf("0\n");
continue;
}
long long an,li,ri;
li=r1-l1+;ri=r2-l2+;
an=li*ri;
cout<<an<<endl;
continue;
}
if(a==)
{
y=c/b;
if(y<l2||y>r2||c%b!=)
printf("0\n");
else
printf("1\n");
continue;
}
if(b==)
{
x=c/a;
if(x<l1||x>r1||c%a!=)
printf("0\n");
else
printf("1\n");
continue;
}
E_gcd(a,b);
if(c%g!=)
{
printf("0\n");
continue;
}
int s=c/g;
x*=s;y*=s;
int ai=a/g;
int bi=b/g;
if(x<l1)
{
while(x<l1)
{
x+=bi;y-=ai;
}
for(i=x;i<=r1;i+=bi,y-=ai)
if(y>=l2&&y<=r2)
ans++;
}
else if(x>r1)
{
while(x>r1)
{
x-=bi;y+=ai;
}
for(i=x;i>=l1;i-=bi,y+=ai)
if(y>=l2&&y<=r2)
ans++;
}
else
{
int yi=y;
for(i=x;i<=r1;i+=bi,yi-=ai)
if(yi>=l2&&yi<=r2)
ans++;
yi=y+ai;
for(i=x-bi;i>=l1;i-=bi,yi+=ai)
if(yi>=l2&&yi<=r2)
ans++;
}
printf("%d\n",ans);
}
return ;
}

codevs 1213 解的个数(我去年打了个表 - -)的更多相关文章

  1. 扩展gcd codevs 1213 解的个数

    codevs 1213 解的个数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 已知整数x,y满足如下面的条件: ax+by ...

  2. codevs 1213 解的个数

    1213 解的个数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold       题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c = ...

  3. Codevs 1213 解的个数(exgcd)

    1213 解的个数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c=0 p< ...

  4. 解的个数(codevs 1213)

    题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c = 0 p<=x<=q r<=y<=s 求满足这些条件的x,y的个数. 输入描述 Input ...

  5. n元线性方程非负整数解的个数问题

    设方程x1+x2+x3+...+xn = m(m是常数) 这个方程的非负整数解的个数有(m+n-1)!/((n-1)!m!),也就是C(n+m-1,m). 具体解释就是m个1和n-1个0做重集的全排列 ...

  6. codevs1213 解的个数

    题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c = 0 p<=x<=q r<=y<=s 求满足这些条件的x,y的个数. 输入描述 Input ...

  7. P1098 方程解的个数

    题目描述 给出一个正整数N,请你求出x+y+z=N这个方程的正整数解的组数(1<=x<=y<=z<1000).其中,1<=x<=y<=z<=N . 输入 ...

  8. PE文件格式详解,第三讲,可选头文件格式,以及节表

    PE文件格式详解,第三讲,可选头文件格式,以及节表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶可选头结构以及作 ...

  9. HDU1573 线性同余方程(解的个数)

    X问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

随机推荐

  1. MYSQL死锁

    转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/ri0day-logs/59186177.html mysql使用myisam的时候锁表比较多,尤其 ...

  2. RC隔离 更新where条件列 没有索引的情况

    CREATE TABLE `test100` ( `sn` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增编号', `phoneNo` int(11) , `c ...

  3. bzoj2724

    分块大法好!首先预处理第i块到第j块的答案,这是可以在O(n*tot)内处理出来的 tot表示块数然后考虑询问对于[l,r],答案只可能是[l,r]之间所夹整块[i,j]的答案和非整块中的位置上的数下 ...

  4. SQL约束和字段约束的创建和删除

    1)禁止所有表约束的SQLselect 'alter table '+name+' nocheck constraint all' from sysobjects where type='U' 2)删 ...

  5. 数据结构(trie,启发式合并):HDU 5841 Alice and Bob

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABJEAAAE6CAIAAAApz1RvAAAgAElEQVR4nO3d3css1b3g8fyTdbHJbD

  6. 线性规划||网络流(费用流):COGS 288. [NOI2008] 志愿者招募

    [NOI2008] 志愿者招募 输入文件:employee.in   输出文件:employee.out   简单对比 时间限制:2 s   内存限制:512 MB [问题描述] 申奥成功后,布布经过 ...

  7. 【扩展欧几里德】Vijos P1009 清帝之惑之康熙

    题目链接: https://vijos.org/p/1009 题目大意: 两个人,一个在坐标x,每天走m,一个在坐标y,每天走n,坐标长L,问几天后碰面. 题目思路: [扩展欧几里德] 根据同余方程的 ...

  8. Nodejs in Visual Studio Code 09.企业网与CNPM

    1.开始 CNPM : https://npm.taobao.org/ 2.企业网HTTP代理上网 平时办公在一个大企业网(10.*.*.*)中,使用HTTP代理上网,发现npm命令无法执行. 解决方 ...

  9. bithrtree

    #include "stdio.h" #include "stdlib.h" #define OK 1 #define ERROR 0 typedef char ...

  10. varnish esi出现no esi processing, first char not ‘<’的错误处理方式

    大致意思是varnish的ESI使用mod_deflate来处理可以接受含有请求头Accept-Encoding的请求,这样转发到后端服务器后,后端服务器返回的响应内容就不是一个格式良好的XML或ht ...