题目链接:[NOIP1998 普及组] 三连击 - 洛谷
题目难度:普及-
涉及知识点:构成比例
题意:
输出样例:192 384 576
219 438 657
273 546 819
327 654 981
分析:偷懒:用个神奇的STL小函数
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[9]={1,2,3,4,5,6,7,8,9};//初始化成1-9
do{
ios::sync_with_stdio(false);//加快cin,cout
int b=a[0]*100+a[1]*10+a[2];//每个位置都会排列到,所依直接组合即可
int c=a[3]*100+a[4]*10+a[5];
int d=a[6]*100+a[7]*10+a[8];
if(c==2*b&&d==3*b)cout<<b<<" "<<c<<" "<<d<<endl;//判断是否组成1:2:3,是就输出
}while(next_permutation(a,a+9));//奇妙的全排列小函数,输入头与尾后自动全排列。!!!注意:必须用do-while,不然在全排列中会漏掉第一种(好像这道题中没啥影响)
return 0;
}
总结:偷懒:用个神奇的STL小函数