枚举差一个测试点ac,求调
查看原帖
枚举差一个测试点ac,求调
1303045
heye666楼主2024/10/31 21:54
#include <iostream>
#include <vector>
using namespace std;
int a,b,c;
vector<vector<int>> t;
int main(){
	cin>>a>>b>>c;
	for(int i=1;i<=9;++i){
		for(int a1=0;a1<=9;++a1){
			for(int a2=0;a2<=9;++a2){
				if(a1==i||a2==i||a1==a2)continue;
				int x=i*100+a1*10+a2;
				for(int a3=0;a3<=9;++a3){
					if(a3==i||a3==a1||a3==a2)continue;
					for(int a4=0;a4<=9;++a4){
						if(a4==i||a4==a1||a4==a2||a4==a3)continue;
						for(int a5=0;a5<=9;++a5){
							if(a5==i||a5==a1||a5==a2||a5==a3||a5==a4)continue;
							int y=a3*100+a4*10+a5;
							for(int a6=0;a6<=9;++a6){
								if(a6==i||a6==a1||a6==a2||a6==a3||a6==a4||a6==a5)continue;
								for(int a7=0;a7<=9;++a7){
									if(a7==i||a7==a1||a7==a2||a7==a3||a7==a4||a7==a5||a7==a6)continue;
									for(int a8=0;a8<=9;++a8){
										if(a8==i||a8==a1||a8==a2||a8==a3||a8==a4||a8==a5||a8==a6||a8==a7)continue;
										int z=a6*100+a7*10+a8;
										if(x*b==y*a&&y*c==z*b&&x>=100&&y>=100&&z>=100&&x<1000&&y<1000&&z<1000)
											t.push_back({x,y,z});
									}
								}
							}
						}
					}
				}
			}
		}
	}
	if(t.empty())
		cout<<"No!!!";
	else{
		for(auto i:t){
			for(auto j:i)
				cout<<j<<' ';
			cout<<endl;
		}
	}
}

2024/10/31 21:54
加载中...