제출 #1274644

#제출 시각아이디문제언어결과실행 시간메모리
1274644lamlamlamTents (JOI18_tents)C++20
100 / 100
190 ms36048 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,int> #define endl '\n' #define task "JOI18_tents" const int MN = 3005, mod = 1e9+7; int n,m,dp[MN][MN]; inline int add(int x,int y) {return x+y<mod ? x+y : x+y-mod;} inline int sub(int x,int y) {return x-y>=0 ? x-y : x-y+mod;} inline int mul(ll x,ll y) {return x*y<mod ? x*y : (x*y)%mod;} inline int c2n(int x) {return x*(x-1)/2;} int f(int i,int j){ if(dp[i][j]!=-1) return dp[i][j]; dp[i][j] = add(mul(4*j,f(i-1,j-1)),f(i-1,j)); if(j>1) dp[i][j] = add(f(i,j),mul(c2n(j),f(i-1,j-2))); if(i>1) dp[i][j] = add(f(i,j),mul(j*(i-1),f(i-2,j-1))); return dp[i][j]; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); for(int i=0; i<MN; i++) for(int j=0; j<=MN; j++) dp[i][j] = -1; for(int i=0; i<MN; i++) dp[i][0] = dp[0][i] = 1; cin >> n >> m; cout << sub(f(n,m),1); cerr << "\nThoi gian loj: " << clock() << endl; }

컴파일 시 표준 에러 (stderr) 메시지

tents.cpp: In function 'int main()':
tents.cpp:25:63: warning: iteration 3005 invokes undefined behavior [-Waggressive-loop-optimizations]
   25 |     for(int i=0; i<MN; i++) for(int j=0; j<=MN; j++) dp[i][j] = -1;
      |                                                      ~~~~~~~~~^~~~
tents.cpp:25:43: note: within this loop
   25 |     for(int i=0; i<MN; i++) for(int j=0; j<=MN; j++) dp[i][j] = -1;
      |                                          ~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...