QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#719129 | #2934. How Many Unicycles in a Broken Wheel | BackToSquare1 | WA | 127ms | 128840kb | C++20 | 1.6kb | 2024-11-06 22:37:46 | 2024-11-06 22:37:46 |
Judging History
answer
#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>
using namespace std;
// using namespace __gnu_pbds;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pl;
typedef pair<ld,ld> pd;
typedef vector<ll> vl;
// typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
#define G(x) ll x; cin >> x;
#define F(i, l, r) for (ll i = l; i < (r); ++i)
#define all(a) begin(a), end(a)
#define K first
#define V second
#define OK(i,j) i >= 0 && i < n && j >= 0 && j < m
#define NN 2505
#define MM 5005
#define MOD 100007
ll dp[4005][4005];
ll sumDp[4005];
void initDp() {
dp[1][1] = 1;
for(ll i=2;i<4005;i++) {
for(ll j=1;j<4005;j++) {
dp[i][1] = (dp[i][1]+dp[i-1][j])%MOD;
if(j >= 2) dp[i][j] = (dp[i][j]+dp[i-1][j-1]/(j-1)*j)%MOD;
}
}
for(ll i=0;i<4005;i++) {
for(ll j=0;j<4005;j++) {
sumDp[i] = (sumDp[i]+dp[i][j])%MOD;
}
}
sumDp[0] = 1;
}
void solve() {
initDp();
ll m;
cin >> m;
ll ans = 0;
for(ll i=0;i<m;i++) {
for(ll j = i+1;j<m;j++) {
ll k = j-i+1;
ans = (ans + k*(k-1)/2*sumDp[i]*sumDp[m-1-j])%MOD;
}
}
cout << ans << '\n';
// for(ll i=0;i<5;i++) cout << sumDp[i] << ' ';
// cout << '\n';
}
int main() {
cin.tie(0)->sync_with_stdio(0);
cout << fixed << setprecision(10);
solve();
return 0;
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 127ms
memory: 128840kb
input:
5
output:
65
result:
wrong answer 1st lines differ - expected: '19', found: '65'