题解 | 喝可乐

喝可乐

https://www.nowcoder.com/practice/5f109fbdafdf441bbe809e733685ea5d

#include <iostream>
#include<vector>
using namespace std;
int pingshu(int x,int y,int a,int b){
    int N=x+y;
    int x1=x,x2=x;
    int y1=y,y2=y;
      while(x>=a||y>=b){
        x1=x%a;
        x2=x/a;
        y1=y%b;
        y2=y/b;
        N+=x2+y2;
        x=x1+y2;
        y=y1+x2;
      }
      return N;
}
int findmax(vector<int>&v,int n){
    int max=v[0];
    for(int i=1;i<n;i++){
        if(v[i]>max){
            max=v[i];
        }
    }
    return max;
}
int main() {
    int t;
    cin>>t;
    for(int i=0;i<t;i++){
        int n,a,b;
        cin>>n>>a>>b;
        vector<int>v(n+1,0);
        for(int j=0;j<=n;j++){
            v[j]=pingshu(j,n-j,a,b);
        }
          int k=findmax(v,n+1);
          cout<<k<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

想踩缝纫机的小师弟练...:不理解你们这些人,要放记录就把对方公司名字放出来啊。不然怎么网暴他们
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务