每个猫群里都分为雄猫和雌猫,第一个猫群里有1只雄猫和n只雌猫,第二个猫群里有2只雄猫和n-1只雌猫....第n个猫群里有n只雄猫和1只雌猫。 xjy和hqy都很喜欢猫,他们对猫分别有好感度a和b,当

本文主要是介绍每个猫群里都分为雄猫和雌猫,第一个猫群里有1只雄猫和n只雌猫,第二个猫群里有2只雄猫和n-1只雌猫....第n个猫群里有n只雄猫和1只雌猫。 xjy和hqy都很喜欢猫,他们对猫分别有好感度a和b,当,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

每个猫群里都分为雄猫和雌猫,第一个猫群里有1只雄猫和n只雌猫,第二个猫群里有2只雄猫和n-1只雌猫....第n个猫群里有n只雄猫和1只雌猫。

xjy和hqy都很喜欢猫,他们对猫分别有好感度a和b,当一个猫群的雄猫数是a的倍数时,这个猫群会对xjy产生好感,同样的,当一个猫群的雌猫数是b的倍数时,这个猫群会对hqy产生好感。

演唱结束后,他们想带一些猫群回他们自己的小窝,但是只有同时对xjy和hqy都产生好感的猫群才能被带走。

他们想知道能带走多少猫群,但xjy在hqy面前通常比较笨,所有只能求救于你了。

Input

 

第一行一个整数T,(1<=T<=50000),表示有T组测试样例。

之后T行,每行三个整数分别表示n,a,b(1<=n,a,b<=2147483647)

Output

 

共输出T行,每行对应一个测试数据,表示能带走的猫群数量。

Sample Input 1 

2
5 2 4
10 2 3

Sample Output 1

1
2
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int gcd(ll a,ll b){if(b==0)return a;return gcd(b,a%b);	
}
void ex_gcd(ll a, ll b,ll &x, ll &y){if(b==0){x = 1;y = 0;return  ;}ex_gcd(b,a%b,x,y);ll tmp = x;x = y;y = tmp - a/b * y; return ;  
}
int main(void){int t;scanf("%d",&t);ll a,b,n;while(t--){scanf("%lld%lld%lld",&n,&a,&b);int g = gcd(a,b);if((n+1) % g!=0){printf("0\n");continue;}else {ll  x,y,ans=0;ex_gcd(a,b,x,y);ll k,minx , maxy, miny ;k = (n +1)/g;minx = x*k;miny = y*k;int d = b/g;minx = ( minx%d + d)%d;if(minx==0)minx = d; maxy = n+1- a * minx;if(maxy<0)ans =0;else{maxy /=b;d = a/g;miny =  (miny%d +d )%d;if(miny==0)miny = d;ans = (maxy -miny)/d +1;}printf("%lld\n",ans);}}return 0;
} 

 

这篇关于每个猫群里都分为雄猫和雌猫,第一个猫群里有1只雄猫和n只雌猫,第二个猫群里有2只雄猫和n-1只雌猫....第n个猫群里有n只雄猫和1只雌猫。 xjy和hqy都很喜欢猫,他们对猫分别有好感度a和b,当的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/789721

相关文章

剑指offer(C++)--两个链表的第一个公共结点

题目 输入两个链表,找出它们的第一个公共结点。 解法一 两个链表一定有交点的话,方法是指向短链表指针先走完,然后指向长链表,指向长链表指针后走完,指向短链表。所以,第二次走过,一定会在交点相遇。 class Solution {public:ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHead2) {ListN

剑指offer(C++)--第一个只出现一次的字符

题目 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). class Solution {public:int FirstNotRepeatingChar(string str) {map<char, int> mp;for(int i = 0; i < str.size(); ++i)m

Aigtek:功率放大器可以分为哪几种

功率放大器是一种广泛应用于电子领域的设备,用于将低功率信号放大到较大功率水平。根据不同的工作原理、电路结构和应用领域,功率放大器可以分为多种类型。在本文中,安泰电子将为您介绍一些常见的功率放大器类型。   A类功率放大器:A类功率放大器是最简单、最常见的一种功率放大器类型。它具有较高的线性度,能够提供良好的信号放大效果。在A类功率放大器中,输出晶体管在整个信号周期内都保持导通状态,从而实现对

在 Java 中,JDK、JRE、JVM 分别代表什么,有何关系和区别?

在Java开发的世界中,我们会经常听到JDK、JRE和JVM这三个词。它们都与Java的运行环境以及Java程序的编译和运行有关,它们之间也存在一些关联性和区别。 什么是JDK、JRE和JVM 我们来看它们分别是什么。 JDK,全称Java Development Kit,即Java开发工具包。顾名思义,JDK是用于Java开发的一套工具包,里面包含了Java的编译器javac、

导航条下 ScrollView 第一个View去掉向下偏移的64px

self.automaticallyAdjustsScrollViewInsets=NO;      self.scrollView.contentInset=UIEdgeInsetsMake(-64, 0, 0, 0); self.automaticallyAdjustsScrollViewInsets=NO; 相同的意思。

iOS 到处 ipa包的时候 会有四个选项分别代表什么

如图 在 iOS 到处 ipa包的时候 会有四个选项  1.Save for iOS App Store Deployment 保存到本地 准备上传App Store 或者在越狱的iOS设备上使用 2.Save for Ad Hoc Deployment 保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编

第一个PSpice程序

环境cadence 16.6 PSpice A/D PSpice程序开发已经逐渐淡出我们的视线,可是却不能忽视其对电子设计开发的重大作用,在学习的过程中偶然看到PSpice应用,却全部是图形输入,而怀着想知道为什么的好奇心,找遍图书馆唯一一本的PSpice程序设计与仿真的书(虽然也有英文的,但是好几本书,等需要时再看了)终于还是被我找到,经过不断的努力,加上偶然的原因终于成功运行了。 步骤:

初学WebGL,使用Three.js开发第一个3d场景示例

使用Three.js 开发3d场景   在图书馆偶然撞见《Three.js开发指南》一书,便试着捣鼓一翻,现将第一个示例的部分代码、注解和相关方法的API记录在此。因为此书发行时是Three.js r69版本,所以当前部分代码有所修改,且所有方法和参数以官方最新版本Three.js r90为准。 <!doctype html><html lang="en"><head><meta char

第一个Flask程序

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501 一切准备就绪,现在我们开始编写第一个Flask程序,由于是第一个Flask程序,当然要从最简单的“Hello World!”开始。   实例01  输出“Hello Worl

QT quick开发学习第一天:第一个程序界面

第一个Qt Quick程序import QtQuick 2.8 import QtQuick.Window 2.2   Rectangle{ width:1920; height:4000; color: "gray";   Text{ anchors.centerIn: parent; text:"I love you!chi