AC日记——三连击 洛谷 P1008

Posted Only U - IU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AC日记——三连击 洛谷 P1008相关的知识,希望对你有一定的参考价值。

题目背景

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。

输入输出格式

输入格式:

 

木有输入

 

输出格式:

 

若干行,每行3个数字。按照每行第一个数字升序排列。

 

输入输出样例

输入样例#1:

输出样例#1:
192 384 576
* * *
...
* * *
(输出被和谐了)

 

 

思路:

  搜索;

  水到炸。

 

来,上代码:

#include <cstdio>
#include <cstring>
#include <iostream>

using namespace std;

int ans[10];

bool if_[10];

void dfs(int now)
{
    if(now==7)
    {
        int pos=ans[1]*100+ans[2]*10+ans[3];
        int pos_=ans[4]*100+ans[5]*10+ans[6];
        if(pos*2!=pos_) return ;
    }
    if(now==10)
    {
        int pos=ans[1]*100+ans[2]*10+ans[3];
        int pos_=ans[7]*100+ans[8]*10+ans[9];
        if(pos*3!=pos_) return ;
        cout<<ans[1]<<ans[2]<<ans[3]<< ;
        cout<<ans[4]<<ans[5]<<ans[6]<< ;
        cout<<ans[7]<<ans[8]<<ans[9]<<endl;
        return ;
    }
    for(int i=1;i<=9;i++)
    {
        if(!if_[i])
        {
            if_[i]=true;
            ans[now]=i;
            dfs(now+1);
            if_[i]=false;
        }
    }
}

int main()
{
    dfs(1);
    return 0;
}

 

以上是关于AC日记——三连击 洛谷 P1008的主要内容,如果未能解决你的问题,请参考以下文章

P1008三连击

P1008 三连击

luogu P1008 三连击

AC日记——魔方 洛谷 P2007

AC日记——采花 洛谷 P2056

AC日记——方差 洛谷 P1471