首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >51Nod-2020-排序相减

51Nod-2020-排序相减

作者头像
f_zyj
发布于 2018-01-09 10:21:50
发布于 2018-01-09 10:21:50
1.3K0
举报

ACM模版

描述

题解

还是那句话,这种题不该出现在 51Nod51Nod 题库,就算出现也不该是基础题,应该是 11 级题,和基础题的定位不符。

代码

代码语言:javascript
复制
#include <iostream>
#include <algorithm>

using namespace std;

const int MAXAB = 4;

int n, k;
int a[MAXAB], b[MAXAB];

bool cmp(const int &a, const int &b)
{
    return a > b;
}

int main(int argc, const char * argv[])
{
    int T;
    cin >> T;

    while (T--)
    {
        cin >> n >> k;

        while (k--)
        {
            int cnt = 0;
            while (n)
            {
                a[cnt] = b[cnt] = n % 10;
                cnt++;
                n /= 10;
            }

            sort(a, a + cnt, cmp);
            sort(b, b + cnt);

            int A = 0, B = 0;
            for (int i = 0; i < MAXAB; i++)
            {
                A *= 10;
                A += a[i];
                B *= 10;
                B += b[i];
            }

            n = A - B;
        }

        cout << n << '\n';
    }

    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年12月10日,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 描述
  • 题解
  • 代码
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档