羅区P1618。連勝単式(アップグレード版)

羅区P1618。連勝単式(アップグレード版)

タイトル説明

1,2、...、三つのグループに9~9の数、各3×3桁の数字からなる、3 3桁の比がAである:B:Cは、再び3つのすべての条件を満たすように決定され3桁、解無しであれば、出力はありません!!!。

入力形式

3、A、B、Cの数

出力フォーマット

3つの数字のいくつかの行。各行は、番号順に配置されています。

サンプル入力と出力

入力サンプル#1
1 2 3
サンプル出力#1
192 384 576
219 438 657
273 546 819
327 654 981

説明/ヒント

A <B <Cことを確認してください。

トピックのアイデア

#include<bits/stdc++.h>
using namespace std;

int a,b,c;

bool bt(int n)
{
    int arr[10] = {0};
    if(n*b%a||n*c%a) return false;
    int x = n,y = n*b/a,z=n*c/a;
    if(x>987||y>987||z>987) return false;
    arr[x%10] = 1;
    arr[x/10%10]++;
    arr[x/100]++;
    arr[y%10]++;
    arr[y/10%10]++;
    arr[y/100]++;
    arr[z%10]++;
    arr[z/10%10]++;
    arr[z/100]++;
    int i;
    for(i=1;i<10&&arr[i]==1;i++);
    if(i==10) return true;
    return false;
}

int main()
{
    int flag = 1;
    scanf("%d%d%d",&a,&b,&c);
    int t = a + b + c;
    for(int i=123;i<987;i++)
    {
        if(bt(i)){
            flag = 0;
            printf("%d %d %d\n",i,i*b/a,i*c/a);
        }
    }
    if(flag)
        printf("No!!!");
    return 0;
}

おすすめ

転載: www.cnblogs.com/fsh001/p/12327894.html