首页 > 其他 > 详细

HDU 4180 RealPhobia

时间:2019-02-07 22:34:04      阅读:198      评论:0      收藏:0      [点我收藏+]

这道题还是不太明白

开学后要去问一问巨佬们

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
inline long long read(){
	long long x=0,f=1,ch=getchar();
	while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
	while(ch>=‘0‘&&ch<=‘9‘){x=x*10+ch-‘0‘;ch=getchar();}
	return x*f;
}
inline long long exgcd(long long a,long long b,long long &x,long long &y){
	if(b==0){
		x=1;y=0;
		return a;
	}
	long long d=exgcd(b,a%b,y,x);
	y-=a/b*x;
	return d;
}
int main(){
	long long T=read();
	while(T--){
		long long a=read(),b=read(),x,y;
		long long d=exgcd(a,b,x,y);
		if(a==1) printf("%lld/%lld\n",a,b-1);
		else if(d!=1) printf("%lld/%lld\n",a/d,b/d);
		else{
			long long c1=(-y+a)%a;
			long long d1=(x+b)%b;
			long long c2=(y+a)%a;
			long long d2=(-x+b)%b;
			if (d1>d2) printf("%lld/%lld\n",c1,d1);
			else printf("%lld/%lld\n",c2,d2);
		}
	}
	return 0;
}

  

HDU 4180 RealPhobia

原文:https://www.cnblogs.com/gcyyzf/p/10355630.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!