zoukankan      html  css  js  c++  java
  • 蓝桥杯2016初赛

    题目链接

    http://oj.ecustacm.cn/problem.php?id=1291

    思路

    答案是29。

    我以为是九层循环直接暴力写……(PS:但是我发现暴力九层也是可以的,有人写,判重复的数字即可。)

    原来是全排列,那也应该是,毕竟有九个不同的数。

    利用题目给出的公式进行通分(通分之后得看下组成好之后是整体还是独立的数字再去进行组合,别弄错了),然后开一个数组存九个数,分别代表A-I,然后套进去公式就行。

    注意:下标和数字和字母别写错了。

    (全排列之前的公式有写,注意复习!)

    AC代码

    #include<iostream>
    #include<stdio.h>
    #include<cmath>
    #include<algorithm>
    #include<queue>
    #include<map>
    #include<stack>
    #include<vector>
    #include<string.h>
    using namespace std;
    #define inf 0x3f3f3f3f
    
    int main()
    {
        int a[10]= {1,2,3,4,5,6,7,8,9};
         //九个数   A B C D E F G H I
         //下标     0 1 2 3 4 5 6 7 8
    
        int cnt=0;
        do
        {
            int GHI=a[6]*100+a[7]*10+a[8];
            int DEF=a[3]*100+a[4]*10+a[5];
            if(a[0]*a[2]*GHI+a[1]*GHI+DEF*a[2]==10*a[2]*GHI)
                cnt++;
        }while(next_permutation(a,a+9)); // 注意:这里一定要写分号的
        cout<<cnt<<endl;
        return 0;
    }
    
  • 相关阅读:
    数据表管理admin
    HDU 5057
    HDU 5056
    HDU 6035(树形dp)
    CodeForces 586D
    Codeforces 940D
    CodeForces 820C
    TOJ4114(活用树状数组)
    2017CCPC中南地区赛 H题(最长路)
    CodeForces 544C (Writing Code)(dp,完全背包)
  • 原文地址:https://www.cnblogs.com/OFSHK/p/13806936.html
Copyright © 2011-2022 走看看