Submission #105944

# Submission time Handle Problem Language Result Execution time Memory
105944 2019-04-15T19:45:47 Z leonarda Jetpack (COCI16_jetpack) C++14
80 / 80
77 ms 6160 KB
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define F first
#define S second
typedef pair<int, int> pi;
typedef long long int lint;
const int inf = 0x3f3f3f3f;
const int maxn = 1e5 + 10;

int n;
char c[13][maxn];
vector<int> v;
bool memo[13][maxn];

bool jetpack(int x, int y) {
	if(c[x][y] == 'X' or memo[x][y])
		return 0;
	if(y == n - 1)
		return 1;
	memo[x][y] = 1;
	if(jetpack(min(9, x + 1), y + 1))
		return 1;
	if(jetpack(max(0, x - 1), y + 1)) {
		v.pb(y);
		return 1;
	}
	return 0;
}

int main ()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	
	cin >> n;
	for(int i = 0; i < 10; ++i)
		for(int j = 0; j < n; ++j)
			cin >> c[i][j];
	
	assert(jetpack(9, 0) == 1);
	
	cout << v.size() << endl;
	for(int i = v.size() - 1; i >= 0; --i)
		cout << v[i] << " " << 1 << endl;

return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
5 Correct 3 ms 640 KB Output is correct
6 Correct 5 ms 768 KB Output is correct
7 Correct 14 ms 1536 KB Output is correct
8 Correct 29 ms 3072 KB Output is correct
9 Correct 48 ms 4604 KB Output is correct
10 Correct 77 ms 6160 KB Output is correct