码迷,mamicode.com
首页 > 其他好文 > 详细

CodeForces - 1131D(Three Integers)

时间:2020-03-09 16:21:38      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:com   test   https   cout   c++   oid   force   def   整数   

题目链接:https://codeforces.com/contest/1311/problem/D

题意:

给出三个整数 a ≤ b ≤ c ,您可以添加+1 或-1 到这三个整数中的任何一个增加或减少 1 ,可以执行任意次(可能为零)次这样的操作,甚至可以一次执行多次。求执行此类操作的最少次数,以获得三个整数 0 ≤ A ≤ B ≤ C 这样B可以被A整除,C可以被B整除 。

思路:

暴力, 枚举 A, B, C;

for (int i = 1; i <= MAXN * 2; ++i)
for (int j = i; j <= MAXN * 2; j += i)
for (int k = j; k <= MAXN * 2; k += j)

AC代码:

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10000;

inline void solve() 
{
    int a, b, c; cin >> a >> b >> c;
    int ansa, ansb, ansc, maxn = 100000;
    for (int i = 1; i <= MAXN * 2; ++i)
    {
        for (int j = i; j <= MAXN * 2; j += i)
        {
            for (int k = j; k <= MAXN * 2; k += j)
            {
                int temp = abs(a - i) + abs(b - j) + abs(c - k);
                if (temp < maxn)
                {
                    maxn = temp;
                    ansa = i, ansb = j, ansc = k;
                }
            }
        }
    }
    cout << maxn << endl;
    cout << ansa << " " << ansb << " " << ansc << endl;
}
int main()
{
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int T = 1; cin >> T;
    for (int i = 0; i < T; ++i) solve();
    return 0;
}

CodeForces - 1131D(Three Integers)

标签:com   test   https   cout   c++   oid   force   def   整数   

原文地址:https://www.cnblogs.com/Dont-Starve/p/12449274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!