rb复.1

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
ll a0,b0,c0,a1,b1,c1,sum,ans,p[3];
int main(){
	cin>>t;
	while(t--){
		scanf("%lld%lld%lld%lld%lld%lld",&a0,&b0,&c0,&a1,&b1,&c1);
		a0=a1-a0;b0=b1-b0;c0=c1-c0;
		if(a0+b0+c0!=0||a0%20||b0%20||c0%20){
			printf("-1\n"); continue;
		}
		a0/=20;b0/=20;c0/=20;
		//
		a1=(a0%3+3)%3;b1=(b0%3+3)%3;c1=(c0%3+3)%3;
		if(a1!=b1||a1!=c1||b1!=c1){
			printf("-1\n");  continue;
		}
		sum=0;ans=0;
		if(a0>0)sum++;
		if(b0>0)sum++;
		if(c0>0)sum++;
        if(sum==0){
        	printf("0\n"); //±ðÍüÁË 
        	continue;
		}
//		if(sum>1) {
//			a0*=-1;b0*=-1;c0*=-1;
//		}
//		if(c0<0){
//			if(a0>0)swap(c0,a0);
//			else swap(c0,b0);
//		}
//		if(a0>b0) swap(a0,b0);
//		ans+=(-1)*b0;
//		c0-=2*ans;
//		ans+=c0/3*2;
		if(sum>1) {
			a0*=-1;b0*=-1;c0*=-1;
		}
		p[0]=a0;p[1]=b0;p[2]=c0;
		sort(p,p+3);
		ans+=(-1)*p[1];
		p[2]-=2*ans;
		ans+=p[2]/3*2;
		printf("%d\n",ans); 
	}
}
//1,1,-2   3,0,3
//a<b<0<c

Guess you like

Origin blog.csdn.net/weixin_50904510/article/details/121046993