zoukankan      html  css  js  c++  java
  • [蓝桥杯] [省赛试题4] 奇怪的比赛

    题目:

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

    你的任务是算出所有可能情况。每个答案占一行。

    答案写在“解答.txt”中,不要写在这里!

    答案:

    0010110011
    0111010000
    1011010000

    观察易得所有串情况都是0到1024的二进制串

    枚举二进制串模拟计算输出答案

    #include <iostream>
    using namespace std;
    int main()
    {
    	int a[10],flag=0,tmp;
    	for(int i=1;i<1024;i++)
    	{
    		a[10]={0};//二进制串初始化为0000000000
    		flag=0;
    		tmp=i;
    		while(tmp||flag<10)
    		{
    			a[flag++]=tmp%2;//枚举二进制串
    			tmp/=2;
    		}
    		int ans=10;
    		for(int j=0;j<10;j++)
    		{
    			if(a[j]==1)//模拟计算
    			ans*=2;
    			else
    			ans-=j+1;
    		}
    		if(ans==100)//比较输出
    		{
    			for(int j=0;j<10;j++)
    			{
    				cout<<a[j];
    			}
    			cout<<endl;
    		}
    	}
    	return 0;
    }
  • 相关阅读:
    读写INI配置文件
    log4net自动邮件
    C#往SQLServer中插入大数据
    C#反射
    正则表达式
    收发邮件
    读写文本
    Selenium—选择框的相关操作(单选框、多选框、复选框、下拉框)
    Selenium—iframe的操作
    Selenium—web元素的操作
  • 原文地址:https://www.cnblogs.com/zeolim/p/12270779.html
Copyright © 2011-2022 走看看