• 简单排列习题2.5 的 2


    用1,2,3,...9组成3个3位数abc, def, ghi;每个数字恰好用一次,要求 abc:def :ghi = 1: 2 : 3;按照abc : def : ghi的格式输出。

    通常想到的思路为枚举9个数, 然后再去判断;这样的话最小复杂度为9 * 9 * 9;

    枚举消耗的时间相对来说较大,当枚举的范围过大时,我们可以根据条件减小枚举范围;

    题中给出了一个等式;

    根据这个等式我们可以先枚举出abc的值;

    然后根据abc的值去算出bcd, ghi的值;再来判断;

    这样的复杂度会减小很多

    #include<bits/stdc++.h>

    #define clr(x) memset(x, 0, sizeof(x))

    #define LL long long

    using namespace std;

    const int INF = 0x3f3f3f3f;

    const int maxn = 100005;

    int main()

    {

    int a;

    int vis[15];

    for(int i = 1; i <= 9; i++)

    for(int j = 1; j <= 9; j++)

    for(int k = 1; k <= 9; k++)

    {

    if(i == j || i == k || k == j)

    continue;

    clr(vis);

    int a = i * 100 + j * 10 + k;

    int b = 2 * a;

    int c = 3 * a;

    vis[i] = 1;

    vis[j] = 1;

    vis[k] = 1;

    vis[b % 10] = 1;

    vis[b / 100] = 1;

    vis[(b / 10) % 10] = 1;

    vis[c % 10] = 1;

    vis[c / 100] = 1;

    vis[(c / 10) % 10] = 1;

    int flag = 1;

    for(int l = 1; l <= 9; l++)

    {

    if(!vis[l])

    {

    flag = 0;

    break;

    }

    }

    if(flag)

    {

    printf("%d %d %d ", a, b, c);

    }

    }

    return 0;

    }

  • 相关阅读:
    2-1 Restful中HTTP协议介绍
    11.修改WSDL文档
    10.TCPIP监听器
    05.使用jdk发布webservice服务
    09.ws复杂数据类型数据传输
    2019温馨的元旦祝福语 2019元旦祝福语大全!收藏备用!
    一文详解CSS常见的五大布局
    一文详解CSS常见的五大布局
    一文详解CSS常见的五大布局
    Asp.Net Core + Docker 搭建
  • 原文地址:https://www.cnblogs.com/lMonster81/p/6644830.html
Copyright © 2020-2023  润新知