| 提出番号 | 1909 |
|---|---|
| 提出者 | popo |
| 言語 | C++ |
| 提出日時 | 2018-08-04 14:30:30 |
| 問題名 | (72)K-th DigitSum |
| 結果 | WA |
| 点数 | 0% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | WA | 0% | 121ms | 115728KB |
| 2 | WA | 0% | 104ms | 115744KB |
| 3 | WA | 0% | 122ms | 115744KB |
| 4 | WA | 0% | 117ms | 115728KB |
| 5 | WA | 0% | 108ms | 115744KB |
| 6 | WA | 0% | 110ms | 115728KB |
| 7 | WA | 0% | 126ms | 115728KB |
| 8 | WA | 0% | 117ms | 115744KB |
| 9 | WA | 0% | 113ms | 115728KB |
| 10 | WA | 0% | 100ms | 115744KB |
| 11 | WA | 0% | 113ms | 115728KB |
| 12 | WA | 0% | 130ms | 115728KB |
| 13 | WA | 0% | 140ms | 115744KB |
| 14 | WA | 0% | 117ms | 115744KB |
| 15 | WA | 0% | 145ms | 115744KB |
| 16 | WA | 0% | 102ms | 115744KB |
| 17 | WA | 0% | 119ms | 115728KB |
| 18 | WA | 0% | 108ms | 115744KB |
| 19 | WA | 0% | 96ms | 115728KB |
| 20 | WA | 0% | 115ms | 115728KB |
| 21 | WA | 0% | 124ms | 115728KB |
| 22 | WA | 0% | 119ms | 115744KB |
| 23 | WA | 0% | 113ms | 115728KB |
| 24 | WA | 0% | 136ms | 115744KB |
| 25 | WA | 0% | 112ms | 115744KB |
| 26 | WA | 0% | 110ms | 115728KB |
| 27 | WA | 0% | 142ms | 115728KB |
| 28 | WA | 0% | 110ms | 115728KB |
| 29 | WA | 0% | 115ms | 115728KB |
| 30 | WA | 0% | 121ms | 115744KB |
| 31 | WA | 0% | 134ms | 115744KB |
| 32 | WA | 0% | 118ms | 115728KB |
| 33 | WA | 0% | 97ms | 115728KB |
| 34 | WA | 0% | 122ms | 115728KB |
| 35 | WA | 0% | 114ms | 115744KB |
| 36 | WA | 0% | 110ms | 115728KB |
| 37 | WA | 0% | 117ms | 115728KB |
| 38 | WA | 0% | 118ms | 115728KB |
| 39 | WA | 0% | 110ms | 115744KB |
| 40 | WA | 0% | 112ms | 115728KB |
| 41 | WA | 0% | 111ms | 115728KB |
| 42 | WA | 0% | 120ms | 115744KB |
| 43 | WA | 0% | 125ms | 115744KB |
| 44 | WA | 0% | 100ms | 115744KB |
| 45 | WA | 0% | 100ms | 115728KB |
| 46 | WA | 0% | 114ms | 115744KB |
| 47 | WA | 0% | 106ms | 115744KB |
| 48 | WA | 0% | 108ms | 115744KB |
| 49 | WA | 0% | 103ms | 115728KB |
| 50 | WA | 0% | 114ms | 115728KB |
| 51 | WA | 0% | 16ms | 115744KB |
#include <bits/stdc++.h>
#define r(i,n) for(int i=0;i<n;i++)
using namespace std;
struct X{
int id,su,di;
X(){di=-1;}
X(int a,int c){
id=a;
su=c;
}
};
int dp[1002][1009],n,k;
X pre[1002][1009],p[1002][1009];
int prin(int a,int c){
string ans="";
int a1=a,c1=c,d,d1;
while(a!=1001){
int A=pre[a][c].id;
int C=pre[a][c].su;
int D=abs(c-C);
a=A;
c=C;
d=D;
ans+=('0'+d);
}
reverse(ans.begin(),ans.end());
if(!(c1==0&&p[a1][c1].su==0))
while(1){
int A=p[a1][c1].id;
int C=p[a1][c1].su;
int D=abs(c1-C);
a1=A;
c1=C;
d1=D;
ans+=('0'+d1);
if(c1==0)break;
}
reverse(ans.begin(),ans.end());
int idx=0;
cout<<ans<<endl;
exit(0);
}
int dfs(int idx,int sum=0){
if(idx==1001)return sum==n;
int &res=dp[idx][sum];
if(~res)return res;
res=0;
for(int i=0;i<=9;i++){
p[idx+1][sum+i]=X(idx,sum);
res+=dfs(idx+1,sum+i);
pre[idx][sum]=X(idx+1,sum+i);
if(res==k){
prin(idx,sum);
}
}
return res;
}
int main(){
memset(dp,-1,sizeof(dp));
cin>>n>>k;
dfs(0);
}