• [CF1311D] Three Integers


    Solution

    枚举 (a),枚举 (b s.t. a|b),则 (c) 一定是 ([c/b]b)(([c/b]+1)b)

    #include <bits/stdc++.h>
    using namespace std;
    
    #define int long long
    const int N = 20000;
    
    int a,b,c,T,A,B,C,ans=1e9;
    
    void upd(int i,int j,int k) {
        int tmp=abs(i-A)+abs(j-B)+abs(k-C);
        if(tmp<ans) {
            ans=tmp;
            a=i; b=j; c=k;
        }
    }
    
    signed main() {
        ios::sync_with_stdio(false);
        cin>>T;
        while(T--) {
            cin>>A>>B>>C;
            ans=1e9;
            for(int i=1;i<=N;i++) {
                for(int j=i;j<=N;j+=i) {
                    int k;
                    k=(C/j)*j;
                    upd(i,j,k);
                    k+=j;
                    upd(i,j,k);
                }
            }
            cout<<ans<<endl;
            cout<<a<<" "<<b<<" "<<c<<endl;
        }
    }
    
  • 相关阅读:
    css 基础
    css 基础-1
    html 入门2-表
    CMDB (后台管理) CURD 插件
    序列化
    AES(高级加密)
    API验证
    数据库取时间(分组)
    用户权限 (知识点)
    xss 过滤
  • 原文地址:https://www.cnblogs.com/mollnn/p/12372948.html
Copyright © 2020-2023  润新知