#include<iostream>
#include<algorithm>
using namespace std;
int A, B, C, num[10] = { 1,2,3,4,5,6,7,8,9 };
bool is_propotion(void)
{
return (100 * num[0] + 10 * num[1] + num[2]) * B == (100 * num[3] + 10 * num[4] + num[5]) * A && (100 * num[0] + 10 * num[1] + num[2]) * C == (100 * num[6] + 10 * num[7] + num[8]) * A;
}
void print(void)
{
cout << num[0] << num[1] << num[2] << ' ' << num[3] << num[4] << num[5] << ' ' << num[6] << num[7] << num[8] << ' ' << endl;
}
int main()
{
int flag = 0;
cin >> A >> B >> C;
for (;;)
{
if (4 == num[0])
break;
if (is_propotion())
{
print();
flag = 1;
}
next_permutation(num, num + 9);
}
if (0 == flag)
cout << "No!!!";
return 0;
}
洛谷P1618 三连击(升级版)进阶解法
最新推荐文章于 2025-10-21 13:00:00 发布
909





