羅区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;
}