牛客16561,CE求助
  • 板块灌水区
  • 楼主FreeEvil767
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/8/12 08:55
  • 上次更新2023/11/3 04:20:57
查看原帖
牛客16561,CE求助
903834
FreeEvil767楼主2023/8/12 08:55
#include <bits/stdc++.h>
#define SIZE 509
#define time TIME
#define Less LESS
using namespace std;
struct person{
	int l,r,times;
	bool operator<(const person&p) const{
		return times<p.times;
	}
};
void deal(int *a){//奇怪数
	for (int i=0;i<SIZE;++i){
		if (a[i]>9){
			a[i+1]+=a[i]/10;
			a[i]%=10;
		}
	}
}
void mul(int *a,int b){
	for (int i=0;i<SIZE;++i){
		a[i]*=b;
	}
	deal(a);
}
void divide(int *a,int b,int *ans){
	for (int i=SIZE-1;i>=0;--i){
		ans[i]=0;
	}
	int r=0;
	for (int i=SIZE-1;i>=0;--i){
		r*=10;
		if ((a[i]+r)<b){
			r+=a[i];
		}
		else{
			ans[i]=((a[i]+r)/b);
			r+=a[i];r%=b;
		}
	}
}
void print(int *a){
	int lena;
	for (int i=SIZE-1;i>=0;--i){
		if (a[i]!=0){
			lena=i;break;
		}
	}
	for (int i=lena;i>=0;--i){
		cout<<a[i];
	}
}
bool Less(int *A,int *B){//a<b
	int lena,lenb;
	for (int i=SIZE-1;i>=0;--i){
		if (A[i]!=0){
			lena=i;break;
		}
	}
	for (int i=SIZE-1;i>=0;--i){
		if (B[i]!=0){
			lenb=i;break;
		}
	}
	if (lena==lenb){
		for (int i=lena;i>=0;--i){
			if (A[i]>B[i]) return false;
			else if (A[i]<B[i]) return true;
		}
    }
	else if (lena<lenb) return true;
    else return false;
}
person line[10009];
int n,a,b,x,y;
int time[SIZE],tmp[SIZE],ans[SIZE];
signed main(){
	cin>>n>>a>>b;for (int i=1;i<=n;++i){
		cin>>line[i].l>>line[i].r;line[i].times=line[i].l*line[i].r;
	}
	sort(line+1,line+n+1);
	time[0]=1;//deal(time);
	line[0].l=a;
	for (int i=1;i<=n;++i){
		mul(time,line[i-1].l);
		divide(time,line[i].r,tmp);
		if (Less(ans,tmp)){
			for (int i=0;i<SIZE;++i) ans[i]=tmp[i];
		}
	}
	print(ans);
	return 0;
}

报错信息:编译错误:您提交的代码无法完成编译 a.cpp:73:1: error: non-void function does not return a value in all control paths [-Werror,-Wreturn-type] } ^ 1 error generated.

菜鸟求助!

2023/8/12 08:55
加载中...