44分求助 用贪心做的
查看原帖
44分求助 用贪心做的
638141
Literally楼主2023/2/12 08:55

代码又臭又长,大佬理解一下,谢谢

#include <bits/stdc++.h>
using namespace std;
long long a,b,c,i=0;
void gailou(){
	while(a>=i && b>=i){
    	i++;
        a-=i,b-=i;       
    }
}
int main(){
    cin>>a>>b>>c;
    if(a>b){
        if(a-b>=c){
            b+=c;
            gailou();
        }else{
            b+=(a-b);
            a+=c/2,b+=c/2;
            gailou();
        }
    }else if(a==b){
        a+=c/2,b+=c/2;
        gailou();
    }else{
        if(b-a>=c){
            a+=c;
            gailou();
        }else{
            a+=(b-a);
            a+=c/2,b+=c/2;
            gailou();
        }
    }
    cout<<i;
	return 0;
} 
2023/2/12 08:55
加载中...