提交时间:2022-07-20 12:13:18

运行 ID: 52928

#include<bits/stdc++.h> using namespace std; long long n,m,k,ans; const int mod=1e9+7; void dfs(int x,int y,int sum) { if(x>n)return ; if(sum>k) return ; if(x>=n&&sum<k) return; if(x==n&&sum==k) { ans+=y; return ; } for(int i=x;i<n;i++) { dfs(x+i,y+pow(i,m),sum+1); } } int main() { cin>>n>>k>>m; for(int i=1;i<n;i++) { dfs(i,pow(i,m),1); } cout<<ans%mod; return 0; }