RE求助
查看原帖
RE求助
915921
DougNo1楼主2024/3/29 18:11

代码:

#include <bits/stdc++.h>
using namespace std;
int a,b,am=0,az=0;
int gcd(int a,int b){//最大公因数 
	if(b==0) return a;
	gcd(b,a%b);
}
int lcm(int a,int b){//最小公倍数 
	return a/gcd(a,b)*b;
}
void pls(int m,int z){//分数加法 
	if(am==0 && az==0){
		am=m;
		az=z;
		for(int i=2;i<=min(am,az);i++){//约分 
		    if(am%i==0 && az%i==0){
		    	am/=i;
			    az/=i;
		    }
        }
		return;
	}
	int l=lcm(am,m);
	z*=(l/m);
	az*=(l/am);
	am=l;
	az+=z;
	for(int i=2;i<=min(am,az);i++){//约分
		if(am%i==0 && az%i==0){
			am/=i;
			az/=i;
		}
    }
}
void mns(int m,int z){//分数减法 
	int l=lcm(am,m);
	z*=(l/m);
	az*=(l/am);
	am=l;
	az-=z;
	for(int i=2;i<=min(am,az);i++){//约分
		if(am%i==0 && az%i==0){
			am/=i;
			az/=i;
		}
    }
}
int main(){
	int z,m;
    char c,d;
    cin>>z>>d>>m;
    pls(m,z);
    while(cin>>c>>z>>d>>m){
    	if(c=='+') pls(m,z);
    	else mns(m,z);
    }
	cout<<az<<"/"<<am;
	return 0;
}

结果: 除了 Subtask#1 的 #12 测试点AC,其它都是RE。

下载了 #1(RE) 的测试数据,完全正确。

这是怎么回事?请大佬们帮帮本蒟蒻,谢谢。

2024/3/29 18:11
加载中...