結果
| 問題 |
No.520 プロジェクトオイラーへの招待
|
| コンテスト | |
| ユーザー |
はまやんはまやん
|
| 提出日時 | 2017-05-30 10:39:08 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,143 bytes |
| コンパイル時間 | 1,405 ms |
| コンパイル使用メモリ | 168,824 KB |
| 実行使用メモリ | 6,940 KB |
| 最終ジャッジ日時 | 2024-09-21 19:17:22 |
| 合計ジャッジ時間 | 4,410 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 WA * 3 |
ソースコード
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
//---------------------------------------------------------------------------------------------------
int mod = 1000000007;
int add(int x, int y) { return (x += y) >= mod ? x - mod : x; }
template<class... T> int add(int x, T... y) { return add(x, add(y...)); }
int mul(int x, int y) { return 1LL * x * y % mod; }
template<class... T> int mul(int x, T... y) { return mul(x, mul(y...)); }
int sub(int x, int y) { return add(x, mod - y); }
int modpow(int a, long long b) { int ret = 1; while (b > 0) {
if (b & 1) ret = 1LL * ret * a % mod; a = 1LL * a * a % mod; b >>= 1; } return ret; }
int modinv(int a) { return modpow(a, mod - 2); }
/*---------------------------------------------------------------------------------------------------
∧_∧
∧_∧ (´<_` ) Welcome to My Coding Space!
( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ _/ .| .|____
\/____/ (u ⊃
---------------------------------------------------------------------------------------------------*/
int memo[101][101];
int f(int a, int b) {
if (a == 1 || b == 1) return 1;
if (0 <= memo[a][b]) return memo[a][b];
return memo[a][b] = f(a, b - 1) + f(a - 1, b);
}
//---------------------------------------------------------------------------------------------------
void _main() {
rep(a, 0, 101) rep(b, 0, 101) memo[a][b] = -1;
int Q; cin >> Q;
rep(q, 0, Q) {
int a, b, c; cin >> a >> b >> c;
int ans = 0;
ans = add(ans, f(a, b + c + 1));
ans = add(ans, f(b, a + c + 1));
ans = add(ans, f(c, a + b + 1));
rep(aa, 0, a) rep(bb, 0, b) rep(cc, 0, c) {
int d = mul(f(aa + 1, bb + 1), f(a - aa, cc + 1), f(b - bb, c - cc));
ans = add(ans, d);
}
printf("%d\n", ans);
}
}
はまやんはまやん