답안 #45224

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
45224 2018-04-11T22:15:34 Z sorry_Benq 캥거루 (CEOI16_kangaroo) C++17
36 / 100
2000 ms 1568 KB
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;

int DPplusfirst[205][205];
int DPplussecond[205][205];
int DPminusfirst[205][205];
int DPminussecond[205][205];

void cpy(){
	for (int i = 0; i < 205; i++){
		for (int j = 0; j < 205; j++){
			DPplusfirst[i][j] = DPplussecond[i][j];
			DPminusfirst[i][j] = DPminussecond[i][j];	
		}
	}
}

int main(){
	int N, cs, cf; cin >> N >> cs >> cf;
	DPplussecond[1][2] = 1LL;
	DPminussecond[2][1] = 1LL;
	for (int i = 3; i <= N; i++){
		cpy();
		for (int k = 1; k <= i; k++){
			for (int j = 1; j <= i; j++){
				if (k == j) continue;
				DPplussecond[j][k] = 0LL;
				DPminussecond[j][k] = 0LL;
				int eps = (k > j);
				for (int l = 1; l <= j - 1; l++){
					DPminussecond[j][k] += DPplusfirst[l][k - eps];
					DPminussecond[j][k] %= MOD;
				}
				for (int l = j + 1; l <= i; l++){
					DPplussecond[j][k] += DPminusfirst[l - 1][k - eps];
					DPplussecond[j][k] %= MOD; 
				}
			}
		}
	}
	cout << (DPplussecond[cs][cf] + DPminussecond[cs][cf]) % MOD << endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 632 KB Output is correct
2 Correct 2 ms 744 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 632 KB Output is correct
2 Correct 2 ms 744 KB Output is correct
3 Correct 5 ms 816 KB Output is correct
4 Correct 7 ms 988 KB Output is correct
5 Correct 7 ms 988 KB Output is correct
6 Correct 7 ms 988 KB Output is correct
7 Correct 7 ms 988 KB Output is correct
8 Correct 9 ms 988 KB Output is correct
9 Correct 8 ms 988 KB Output is correct
10 Correct 7 ms 1108 KB Output is correct
11 Correct 7 ms 1124 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 632 KB Output is correct
2 Correct 2 ms 744 KB Output is correct
3 Correct 5 ms 816 KB Output is correct
4 Correct 7 ms 988 KB Output is correct
5 Correct 7 ms 988 KB Output is correct
6 Correct 7 ms 988 KB Output is correct
7 Correct 7 ms 988 KB Output is correct
8 Correct 9 ms 988 KB Output is correct
9 Correct 8 ms 988 KB Output is correct
10 Correct 7 ms 1108 KB Output is correct
11 Correct 7 ms 1124 KB Output is correct
12 Correct 1894 ms 1376 KB Output is correct
13 Correct 1491 ms 1468 KB Output is correct
14 Correct 1906 ms 1496 KB Output is correct
15 Execution timed out 2068 ms 1568 KB Time limit exceeded
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 632 KB Output is correct
2 Correct 2 ms 744 KB Output is correct
3 Correct 5 ms 816 KB Output is correct
4 Correct 7 ms 988 KB Output is correct
5 Correct 7 ms 988 KB Output is correct
6 Correct 7 ms 988 KB Output is correct
7 Correct 7 ms 988 KB Output is correct
8 Correct 9 ms 988 KB Output is correct
9 Correct 8 ms 988 KB Output is correct
10 Correct 7 ms 1108 KB Output is correct
11 Correct 7 ms 1124 KB Output is correct
12 Correct 1894 ms 1376 KB Output is correct
13 Correct 1491 ms 1468 KB Output is correct
14 Correct 1906 ms 1496 KB Output is correct
15 Execution timed out 2068 ms 1568 KB Time limit exceeded
16 Halted 0 ms 0 KB -