CF1326A Bad Ugly Numbers 題解

博客園同步

原題鏈接

簡要題意:

構造一個長爲 nn 的數,使得每位均不爲 00,且 nn 不被它的各位數字整除。

比方說, n=239n = 239 是合法的。因爲:

2∤2392 \not | 2393∤2393 \not | 2399∤2399 \not | 239.

再比方,n=235n = 235 是不合法的。因爲:

52355 | 235.

因此,本題是個水構造。

首先 n=1n = 1,顯然無解。

否則,考慮以下構造:

23333233 \cdots 33

49999499 \cdots 99

27777277 \cdots 77

57777577 \cdots 77

59999599 \cdots 99

89999899 \cdots 99

67777677 \cdots 77

\cdots

(盲猜不下 10001000 種構造,全部合法)

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;

inline int read(){char ch=getchar();int f=1;while(ch<'0' || ch>'9') {if(ch=='-') f=-f; ch=getchar();}
	int x=0;while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x*f;}

int main(){
	int T=read(); while(T--) {
		int n=read();
		if(n==1) printf("-1\n");
		else {
			putchar('4');
			for(int i=1;i<n;i++) putchar('9');
			putchar('\n');
		} //499...99
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章