洛谷 P1008 [NOIP 1998 普及组] 三连击

枚举,反正就那么几个数字,暴力判断很快的。

AcCode:

#include<iostream>
using namespace std;
bool check(int a, int b, int c){
	bool st[10] = {false};
	while(a){
		if(st[a % 10] || a % 10 == 0) return false;
		st[a % 10] = true;
		a /= 10; 
	}
	while(b){
		if(st[b % 10] || b % 10 == 0) return false;
		st[b % 10] = true;
		b /= 10; 
	}
	while(c){
		if(st[c % 10] || c % 10 == 0) return false;
		st[c % 10] = true;
		c /= 10; 
	}
	return true;
}
int main(){
	for(int i = 123; i <= 987; i++){ //最小值就是123,最大值不用管,随便给一个,不过i * 3最大值不超过987
		if(i * 3 > 987) break;
		if(check(i, i * 2, i * 3)) cout << i << " " << i * 2 << " " << i * 3 << endl;
	}
	return 0;
} 
posted @ 2025-05-07 01:12  Yuhhhhh  阅读(18)  评论(0)    收藏  举报