日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)

發(fā)布時間:2025/4/14 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

生成元:如果 x 加上 x 各個數(shù)字之和得到y(tǒng),則說x是y的生成元。

n(1<=n<=100000),求最小生成元,無解輸出0.

例如:n=216 , 解是:198?

198+1+9+8=216

?

解題思路:打表

循環(huán)將從1到10005(大點(diǎn)也可以)進(jìn)行提前寫好。

例如:

1 ?1+1=2,--> ?arr[2]=1

13 13+1+3=17,-->arr[17]=13

34 ?34+3+4=41, -->arr[41]=34

打完表后,直接將給的數(shù)作為下標(biāo),輸出即可。

#include<stdio.h> #include<string.h> #define maxn 100005 int main(void) {int t,n,i,j,m,ans[maxn];memset(ans,0,sizeof(ans));for(m=1; m<maxn; m++){i=j=m;while(i>0){j+=i%10;i/=10;}if(ans[j]==0||m<ans[j])ans[j]=m;}scanf("%d",&t);while(t--){scanf("%d",&n);printf("%d\n",ans[n]);}return 0; }

  ?if(ans[j]==0||m<ans[j])ans[j]=m;//如果ans[j]沒有被賦值,或者當(dāng)前的m<ans[j](寫入最小生成元)。

?

轉(zhuǎn)載于:https://www.cnblogs.com/A--Q/p/5692374.html

總結(jié)

以上是生活随笔為你收集整理的生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。