結果
問題 |
No.535 自然数の収納方法
|
ユーザー |
![]() |
提出日時 | 2025-03-15 16:12:22 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 754 bytes |
コンパイル時間 | 1,652 ms |
コンパイル使用メモリ | 159,992 KB |
実行使用メモリ | 14,776 KB |
最終ジャッジ日時 | 2025-03-15 16:12:29 |
合計ジャッジ時間 | 5,532 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 7 TLE * 1 -- * 15 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:31:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 31 | scanf("%lld",&n); | ~~~~~^~~~~~~~~~~
ソースコード
#include<bits/stdc++.h> #define int long long #define inf 0x3f3f3f3f3f3f3f3f #define N 2005 #define Mod 1000000007 using namespace std; int f[N][N],Ans=0,n; void init() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) f[i][j]=0; } void Solve(int k) { for(int i=2;i<=n;i++) { for(int k=1;k<=i-1;k++) (f[i][1]+=f[i-1][k])%=Mod; for(int j=2;j<=n;j++) { f[i][j]=f[i][j-1]; if(j+i-2<=n)f[i][j]=(f[i][j]+f[i-1][j+i-2])%Mod; } } for(int i=1;i<=k;i++)Ans=(Ans+f[n][i])%Mod; return ; } signed main() { scanf("%lld",&n); for(int i=1;i<=n;i++) { init(); f[1][i]=1; Solve(i); } printf("%lld",Ans); return 0; }