Submission #4027363
Source Code Expand
#include <cmath> #include <iostream> #include <vector> #include <queue> #include <deque> #include <map> #include <set> #include <stack> #include <tuple> #include <bitset> #include <algorithm> #include <functional> #include <utility> #include <iomanip> #define int long long int #define rep(i, n) for(int i = 0; i < (n); ++i) #define ALL(x) (x).begin(), (x).end() #define SZ(x) ((int)(x).size()) #define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() ) using namespace std; typedef pair<int, int> P; const int INF = 1e15; const int MOD = 1e9+7; int powM(int x, int n){ if(n == 0){ return 1; } if(n % 2 == 0){ return powM(x * x % MOD, n / 2); } return powM(x, n-1) * x % MOD; } int factM(int n){ static vector<int> t = {1}; if((int)t.size() > n){ return t[n]; } for(int i = t.size(); i <= n; i++){ t.push_back(t[i-1] * i % MOD); } return t[n]; } class Combination{ private: vector<int> t; public: Combination(int n): t(n+1){ t[n] = powM(factM(n), MOD-2); for(int i = n-1; i >= 0; i--){ t[i] = t[i+1] * (i+1) % MOD; } } int comb(int n, int k){ if(n < k || n < 0 || k < 0){ return 0; } return factM(n) * t[k] % MOD * t[n-k] % MOD; } int getInv(int n){ return t[n]; } }; signed main(){ ios::sync_with_stdio(false); cin.tie(0); int r, c, x, y, d, l; cin >> r >> c >> x >> y >> d >> l; Combination cc(1000); int ans = 0; for(int i = x; i >= x - 2 ; i--){ for(int j = y; j >= y - 2; j--){ if(i * j < d + l){ continue; } int tmp = cc.comb(i * j, d); tmp *= cc.comb(i * j - d, l); tmp %= MOD; if(i == x - 1){ tmp *= 2; tmp %= MOD; } if(j == y - 1){ tmp *= 2; tmp %= MOD; } if((i + j) % 2 == (x + y) % 2){ ans += tmp; }else{ ans += MOD - tmp; } ans %= MOD; } } ans *= (r - x + 1); ans %= MOD; ans *= (c - y + 1); ans %= MOD; cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - AtCoder社の冬 |
User | amanuko |
Language | C++14 (Clang 3.8.0) |
Score | 0 |
Code Size | 2493 Byte |
Status | WA |
Exec Time | 7 ms |
Memory | 632 KB |
Judge Result
Set Name | sub | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 100 | 0 / 1 | ||||||||
Status |
|
|
Set Name | Test Cases |
---|---|
sub | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, test_03E.txt, test_04E.txt, test_07E.txt, test_08E.txt, test_11E.txt, test_12E.txt, test_15E.txt, test_16E.txt, test_19E.txt, test_20E.txt, test_23E.txt, test_24E.txt, test_27E.txt, test_28E.txt, test_31E.txt, test_32E.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_45E.txt, test_47E.txt |
All | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, 00_sample_04.txt, test_01.txt, test_02.txt, test_03E.txt, test_04E.txt, test_05.txt, test_06.txt, test_07E.txt, test_08E.txt, test_09.txt, test_10.txt, test_11E.txt, test_12E.txt, test_13.txt, test_14.txt, test_15E.txt, test_16E.txt, test_17.txt, test_18.txt, test_19E.txt, test_20E.txt, test_21.txt, test_22.txt, test_23E.txt, test_24E.txt, test_25.txt, test_26.txt, test_27E.txt, test_28E.txt, test_29.txt, test_30.txt, test_31E.txt, test_32E.txt, test_33.txt, test_34.txt, test_35.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45E.txt, test_46.txt, test_47E.txt, test_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01E.txt | AC | 7 ms | 632 KB |
00_sample_02E.txt | AC | 1 ms | 256 KB |
00_sample_03E.txt | AC | 1 ms | 256 KB |
00_sample_04.txt | AC | 1 ms | 256 KB |
test_01.txt | AC | 1 ms | 256 KB |
test_02.txt | AC | 1 ms | 256 KB |
test_03E.txt | AC | 1 ms | 256 KB |
test_04E.txt | AC | 1 ms | 256 KB |
test_05.txt | AC | 1 ms | 256 KB |
test_06.txt | AC | 1 ms | 256 KB |
test_07E.txt | AC | 1 ms | 256 KB |
test_08E.txt | AC | 1 ms | 256 KB |
test_09.txt | AC | 1 ms | 256 KB |
test_10.txt | AC | 1 ms | 256 KB |
test_11E.txt | AC | 1 ms | 256 KB |
test_12E.txt | AC | 1 ms | 256 KB |
test_13.txt | AC | 1 ms | 256 KB |
test_14.txt | AC | 1 ms | 256 KB |
test_15E.txt | AC | 1 ms | 256 KB |
test_16E.txt | AC | 1 ms | 256 KB |
test_17.txt | AC | 1 ms | 256 KB |
test_18.txt | AC | 1 ms | 256 KB |
test_19E.txt | AC | 1 ms | 256 KB |
test_20E.txt | AC | 1 ms | 256 KB |
test_21.txt | AC | 1 ms | 256 KB |
test_22.txt | AC | 1 ms | 256 KB |
test_23E.txt | AC | 1 ms | 256 KB |
test_24E.txt | AC | 1 ms | 256 KB |
test_25.txt | AC | 1 ms | 256 KB |
test_26.txt | AC | 1 ms | 256 KB |
test_27E.txt | AC | 1 ms | 256 KB |
test_28E.txt | AC | 1 ms | 256 KB |
test_29.txt | AC | 1 ms | 256 KB |
test_30.txt | AC | 1 ms | 256 KB |
test_31E.txt | AC | 1 ms | 256 KB |
test_32E.txt | AC | 1 ms | 256 KB |
test_33.txt | AC | 1 ms | 256 KB |
test_34.txt | AC | 1 ms | 256 KB |
test_35.txt | AC | 1 ms | 256 KB |
test_36E.txt | AC | 1 ms | 256 KB |
test_37E.txt | AC | 1 ms | 256 KB |
test_38E.txt | AC | 1 ms | 256 KB |
test_39E.txt | WA | 1 ms | 256 KB |
test_40.txt | AC | 1 ms | 256 KB |
test_41.txt | AC | 1 ms | 256 KB |
test_42.txt | AC | 1 ms | 256 KB |
test_43.txt | AC | 1 ms | 256 KB |
test_44.txt | AC | 1 ms | 256 KB |
test_45E.txt | AC | 1 ms | 256 KB |
test_46.txt | AC | 1 ms | 256 KB |
test_47E.txt | AC | 1 ms | 256 KB |
test_48.txt | AC | 1 ms | 256 KB |