Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
53031 raoyueyang 数学,很美妙吧 C++ 运行超时 0 1000 MS 672 KB 1255 2022-07-20 20:21:52

Tests(0/10):


#include <bits/stdc++.h> #define int long long using namespace std; const int maxn = 10000; int p[maxn]; int num = 1; int a[maxn][maxn]; int sum; int n,m,k; int total = 0; int s; int total2 = 0; int time(int x,int y,int num) { if(y == 0) return num; num = num*x; time(x,y-1,num); } int all(int k,int f) { for(int i=1; i<=k; i++) f += i; return f; } void use(int k2,int m) { if(s % 2 == 0) { for(int i=1; i<=k2; i++) sum += i; for(int i=1; i<=k2; i++) { total += time(p[i],m,1); } } } int cnt; void get(int n,int k,int k2) { if(n == 0 && k == 0) { cnt++; for(int i=1; i<=k2; i++) a[cnt][i] = p[i]; s++; use(k2,m); return; } else for(int i=1; i<=n; i++) { p[k] = i; get(n-i,k-1,k2); } } int fin; main() { cin >> n >> k >> m; get(n,k,k); // for(int i=1; i<=cnt; i++) // { // for(int j=1; j<=k; j++) // cout << a[i][j] << " "; // cout << endl; // } for(int i=1; i<=cnt/2+1; i++) for(int j=1; j<=k; j++) { fin += pow(a[i][j],m); } if(s % 2== 0) cout << total << endl; else cout << fin << endl; return 0; }


测评信息: