zoukankan      html  css  js  c++  java
  • 猜灯谜

    A 村的元宵节灯会上有一迷题:
    
        请猜谜 * 请猜谜 = 请边赏灯边猜
    
    小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字。
    
    请你用计算机按小明的思路算一下,然后提交“请猜谜”三个字所代表的整数即可。
    
    请严格按照格式,通过浏览器提交答案。

    注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字。

    答案 (10分)

    搜索判断。

    代码:

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int s[6];
    bool vis[10];
    bool check() {
        int a = s[0] * 100 + s[1] * 10 + s[2];
        int b = s[0] * 100000 + s[3] * 10010 + s[4] * 1000 + s[5] * 100 + s[1];
        if(a * a == b) return true;
        return false;
    }
    void dfs(int k) {
        if(k >= 6) {
            if(check()) printf("%d%d%d
    ",s[0],s[1],s[2]);
            return;
        }
        for(int i = 0;i < 10;i ++) {
            if(!vis[i]) {
                vis[i] = true;
                s[k] = i;
                dfs(k + 1);
                vis[i] = false;
            }
        }
    }
    int main() {
        dfs(0);
    }
    import java.math.BigInteger;
    
    public class Main {
        private static int [] s = new int[6];
        private static boolean [] vis = new boolean[10];
        private static void dfs(int k) {
            if(k >= 6) {
                int d = s[0] * 100 + s[1] * 10 + s[2];
                int e = s[0] * 100000 + s[3] * 10010 + s[4] * 1000 + s[5] * 100 + s[1];
                if(d * d == e) System.out.println(s[0] + " " + s[1] + " " + s[2]);
                return;
            }
            for(int i = 0;i < 10;i ++) {
                if(!vis[i]) {
                    vis[i] = true;
                    s[k] = i;
                    dfs(k + 1);
                    vis[i] = false;
                }
            }
        }
        public static void main(String[] args) {
            dfs(0);
        }
    
    }
  • 相关阅读:
    Mybatis问题记录-狂神版
    Uni-App开发记录
    某笔试题目--修复回文
    人生就是一个苏醒的过程
    今天早上进入你的空间突然发现咱们以前的东西都不见了,点开你的情侣空间.....
    青春物语
    中小学、幼儿园教师资格认定
    换屏
    oracle 语句
    Packet for query is too large (1057 > 1024)解决
  • 原文地址:https://www.cnblogs.com/8023spz/p/10330743.html
Copyright © 2011-2022 走看看