UVa1583
【題目描述】
傳送門
【題目分析】
我以為很簡單就寫了一個暴力沒有想到超時了。應該是T是非常大的所以必須得打表,將所有的結果都儲存起來然后直接輸出。
以后遇到這種可以一下算出所有結果的多組數據最好還是算出所有的結果然后再輸出答案。
【AC代碼】
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<cstdlib> #include<set> #include<map> #include<vector>using namespace std;typedef long long ll; const int INF=0x3f3f3f3f; const int MAXN=1e5+5; int ans[MAXN]; int n;int work(int x) {int ret=0;while(x){ret+=x%10; x/=10;}return ret; } void init() {int x;for(int i=0;i<MAXN;i++){x=i+work(i);if(x<MAXN && !ans[x]) ans[x]=i;} }int main() {init();int T;scanf("%d",&T);while(T--){scanf("%d",&n);printf("%d\n",ans[n]);}return 0; } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎總結