首页 > 其他分享 >[NOIP1998 普及组] 三连击

[NOIP1998 普及组] 三连击

时间:2022-08-21 19:56:53浏览次数:75  
标签:普及 连击 num1 int cnt answers queue NOIP1998 include

生成九位一到九的全排列,按题目分割、过滤

#include<iostream>
#include<vector>
#include<algorithm>
bool vis[20];
int queue[50];
int answers[500];
int cnt=0;
void search(int x)
{
    for(int i=1;i<=9;i++)//每位数由1到9中的一个
    {
        if(!vis[i])
        {
            vis[i]=1;
            queue[x]=i;
            if(x>1)
                search(x-1);
             else
             {
                 int num1=queue[1]*100+queue[2]*10+queue[3];//第一个三位数
                 int num2=queue[4]*100+queue[5]*10+queue[6];//第二个三位数
                 int num3=queue[7]*100+queue[8]*10+queue[9];//第三个三位数
                 if(num2==num1*2&&num3==num1*3)//符合题目要求的九位数
                     answers[cnt++]=num1;
             }
            vis[i]=0;
        }
    }
}
int main()
{
    search(9);//生成九位某些数的全排列
    std::sort(answers,answers+cnt);
    for(int i=0;i<cnt;i++)
        std::cout<<answers[i]<<" "<<answers[i]*2<<" "<<answers[i]*3<<std::endl;
}

 

标签:普及,连击,num1,int,cnt,answers,queue,NOIP1998,include
From: https://www.cnblogs.com/daigemingzi/p/16610663.html

相关文章

  • [2008年NOIP普及组] 排座椅
    [2008年NOIP普及组]排座椅思路:首先运用结构体存入每行每列的具体信息,读入m行n列k条横向l条纵向通道d对同学说话,按顺序为每行每列编号。再一对一对地拆说话的同学(要计......
  • 传球游戏【NOIP2018普及组T3】(ybtoj 递推例题2)
    题目描述上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。游戏规则是这样的: 个同学站成一个圆圈,其中的一个同学手里拿着一......
  • [2005年NOIP普及组] 陶陶摘苹果
    #include<iostream>intmain(){intarray[10];for(inti=0;i<10;i++)std::cin>>array[i];intheight;constintchair=30;std::cin>......
  • GDOI绝望记——人生第一次省选普及
    时光匆匆,如白驹过隙。转眼之间,我一在OI之路上走了2年半了..岁月不饶人,我却在不经意间饶了岁月。自己到底是不是不如别人,这,是取决于自己的心态吧#Preface人生中第一次去深......
  • 洛谷P1037 [NOIP2002 普及组] 产生数
    排列组合QWQ当我第一眼看见这到题,K才15???,于是默默的打出了暴搜。以我这么高(la)超(ji)的水平,当然是TLE.....对着屏幕一呆,70行代码。。。。步入正题:再打深搜,那是不可......
  • [2010年NOIP普及组] 接水问题
     [2010年NOIP普及组]接水问题大意:一共有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。 现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些......
  • [2007年NOIP普及组] 纪念品分组
    元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪......
  • [2016年NOIP普及组] 回文日期
    [2016年NOIP普及组]回文日期题目大意:用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月 份,最后 2 位代表日期,一个日期是回文的,当且仅当表示这个日......
  • [2010年NOIP普及组] 接水问题
    学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。 现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水......
  • [2010年NOIP普及组] 接水问题
    [2010年NOIP普及组]接水问题分析:根据题意,要输出所用时间最长的那个人(包括那个人在等待的时间),分为两种情况,第一种是水龙头多于要打水的人数,这种情况下就可以直接写一个比......