# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
971187 | amirujuz | 힘 센 거북 (IZhO11_turtle) | C++14 | 3 ms | 4752 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define allr v.rbegin(), v.rend()
#define sllr s.rbegin(), s.rend()
#define all v.begin(), s.end()
#define sll s.begin(), s.end()
#define pii pair <int, int>
#define int long long
#define pb push_back
#define pp pop_back
#define sc second
#define fr first
using namespace std;
const int N=1e3+7, INT=1e6+7, INF=1e9+7, INFF=INT64_MAX;
int dp[N][N], siu[N][N];
signed main() {
ios_base::sync_with_stdio(false);
ofstream cout ("turtle.out");
ifstream cin ("turtle.in");
cout.tie(NULL);
cin.tie(NULL);
int n, m, k, t, z, a, b, i, j;
cin >> n >> m >> k >> t >> z;
map <pii, int> mp;
for (i=0; i<k; i++) {
cin >> a >> b;
mp[{a+1, b+1}]=1;
}
dp[1][1]=1;
for (i=1; i<=n+1; i++) {
for (j=1; j<=m+1; j++) {
if (mp[{i, j}]+siu[i-1][j]<=t) siu[i][j]+=siu[i-1][j]+mp[{i, j}], dp[i][j]+=dp[i-1][j];
if (mp[{i, j}]+siu[i][j-1]<=t) siu[i][j]+=siu[i][j-1]+mp[{i, j}], dp[i][j]+=dp[i][j-1];
dp[i][j]%=z;
}
}
cout << dp[n+1][m+1];
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |