zoukankan      html  css  js  c++  java
  • 蓝桥杯第三届省赛试题奇怪的比赛

    题目描述:

    某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:
    每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。
    每位选手都有一个起步的分数为10分。
    某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?
    如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。

    你的任务是算出所有可能情况。每个答案占一行。
    答案写在“解答.txt”中,不要写在这里!

    思路:采用深度搜索,找到合适的答案啊

    #include<stdio.h>
    int a[10];
    int sum = 0;
    void dfs(int i) {
        //当前第几题
        if (i == 10) {
            sum = 10;
            int k;
            for (k = 0; k < 10; k++) {
                if (a[k] == 1) {
                    sum *= 2;
                }
                else {
                    sum -= (k + 1);
                }
            }
            if (sum == 100) {
                for (k = 0; k < 10; k++) {
                    printf("%d", a[k]);
                }
                printf("
    ");
            }
            return;
        }
        for (int j = 0; j <= 1; j++) {
            //0和1两种情况
            a[i] = j;
            dfs(i + 1);
            a[i] = j;
        }
    }
    int main() {
        dfs(0);
        return 0;
    }

    答案:

    0010110011
    0111010000
    1011010000

  • 相关阅读:
    模型定义
    聚合、原生和子查询
    PHP curl扩展
    时间查询
    查询表达式
    HTTP协议的Keep-Alive 模式
    抽象类可以没有抽象方法
    Nginx解决前端跨域问题,Nginx反向代理跨域原理
    Nginx配置文件不生效,Nginx配置文件重启也不生效
    php openssl加密解密函数
  • 原文地址:https://www.cnblogs.com/lin0/p/8675534.html
Copyright © 2011-2022 走看看