제출 #393919

#제출 시각아이디문제언어결과실행 시간메모리
393919KhaledFarhatKangaroo (CEOI16_kangaroo)C++14
0 / 100
2 ms332 KiB
#include <bits/stdc++.h> using namespace std; const int MOD = 1000000007; int Add(int x, int y) { return (x + y) % MOD; } void Increase(int& x, int y) { x = Add(x, y); } int Multiply(int x, int y) { return 1LL * x * y % MOD; } int main() { freopen("kangaroo.in", "r", stdin); freopen("kangaroo.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); int n, startPosition, finishPosition; cin >> n >> startPosition >> finishPosition; vector<vector<int>> ways(n + 2, vector<int>(n + 1)); ways[1][1] = 1; for (int i = 1; i <= n; ++i) { for (int components = 1; components <= i; ++components) { if (ways[i][components] == 0) { continue; } if (i == startPosition || i == finishPosition) { Increase(ways[i + 1][components + 1], ways[i][components]); // open a new component on the side Increase(ways[i + 1][components], ways[i][components]); // append to the side } else { // create a new component int validPosition = (components + 1) - (i > startPosition) - (i > finishPosition); Increase(ways[i + 1][components + 1], Multiply(validPosition, ways[i][components])); // merge two component validPosition = components - 1; Increase(ways[i + 1][components - 1], Multiply(validPosition, ways[i][components])); } } } cout << ways[n + 1][1]; return 0; }

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

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:19:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   19 |     freopen("kangaroo.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
kangaroo.cpp:20:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   20 |     freopen("kangaroo.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...