結果
問題 | No.741 AscNumber(Easy) |
ユーザー |
![]() |
提出日時 | 2019-04-24 19:38:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 220 ms / 2,000 ms |
コード長 | 2,547 bytes |
コンパイル時間 | 1,540 ms |
コンパイル使用メモリ | 166,300 KB |
実行使用メモリ | 81,536 KB |
最終ジャッジ日時 | 2024-11-08 19:20:45 |
合計ジャッジ時間 | 6,106 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 55 |
ソースコード
#define _USE_MATH_DEFINES#define _CRT_SECURE_NO_WARNINGS#include <bits/stdc++.h>using namespace std;/*BigInteger#include <boost/multiprecision/cpp_dec_float.hpp>#include <boost/multiprecision/cpp_int.hpp>#include <boost/rational.hpp>namespace xxx = boost::multiprecision;using Bint = xxx::cpp_int;using Real = xxx::number<xxx::cpp_dec_float<1024>>;*/#define int long long#define pb(x) push_back(x)#define m0(x) memset((x), 0, sizeof(x))#define mm(x) memset((x), -1, sizeof(x))//container#define ALL(x) (x).begin(), (x).end()#define RALL(a) (a).rbegin(), (a).rend()#define EACH(i, c) for (typeof((c).begin()) i = (c).begin(); i != (c).end(); ++i)#define EXIST(s, e) ((s).find(e) != (s).end())#define UNIQUE(v) (v).erase(unique((v).begin(), (v).end()), (v).end());#define PERM(c) \sort(ALL(c)); \for (bool c##p = 1; c##p; c##p = next_permutation(ALL(c)))// debug#define GET_VAR_NAME(variable) #variable#define test(x) cout << GET_VAR_NAME(x) << " = " << x << endl;// bit_macro#define bit(n) (1LL << (n))#define bitset(a, b) (a) |= (1 << (b))#define bitunset(a, b) (a) &= ~(1 << (b))#define bitcheck(a, b) ((((a) >> (b)) & 1) == 1)#define bitcount(a) __builtin_popcountll((a))//typedeftypedef long long lint;typedef unsigned long long ull;typedef complex<long double> Complex;typedef pair<int, int> P;typedef tuple<int, int, int> TP;typedef vector<int> vec;typedef vector<vec> mat;//constantconstexpr int INF = (int)1e18;constexpr int MOD = (int)1e9 + 7;constexpr double PI = (double)acos(-1);constexpr double EPS = (double)1e-10;constexpr int dx[] = {-1, 0, 0, 1, 0, -1, -1, 1, 1};constexpr int dy[] = {0, -1, 1, 0, 0, 1, -1, 1, -1};//template <typename T>void chmax(T &a, T b) { a = max(a, b); }template <typename T>void chmin(T &a, T b) { a = min(a, b); }//inline int toInt(string s) {int v;istringstream sin(s);sin >> v;return v;}template <class T>inline string toString(T x) {ostringstream sout;sout << x;return sout.str();}//struct Accelerate_Cin {Accelerate_Cin() {cin.tie(0);ios::sync_with_stdio(0);cout << fixed << setprecision(20);};};signed main() {int N;cin >> N;static int dp[1000100][10];dp[0][0] = 1;for (int i = 1; i <= N; i++) {for (int j = 0; j <= 9; j++) {for (int k = 0; k <= j; k++) {dp[i][j] += dp[i - 1][j - k];dp[i][j] %= MOD;}}}int ans = 0;for (int i = 0; i <= 9; i++) ans = (ans + dp[N][i]) % MOD;cout << ans << endl;return 0;}