답안 #734226

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
734226 2023-05-02T05:27:24 Z Amaarsaa 팬케이크 정렬 (NOI12_pancake) C++14
20 / 25
1000 ms 212 KB
#include<bits/stdc++.h>
 
using namespace std;
using ll = int;
ll n, ans, p, j, s;
void Dfs(ll a[], ll  moves) {
	if ( moves >= ans) return;
	s = 0;
	for (ll i = 1; i < n; i ++) {
		if ( a[i] <=a[i + 1]) s = 1;
	}
	if ( s == 0) {
		
		ans = min(moves, ans);
		return;
	}
	for (ll i = 1; i <= n; i ++) {
		reverse(a + i,a +n + 1);
		Dfs(a, moves + 1);
		reverse(a + i, a + n + 1);
	}
	return ;
}
int main() {
	ll i, t, r;
	cin >> t;
	
	while ( t --) {
		cin >> n;
		ans = 2 * n;
		ans = min(ans, 7);
		ll a[n + 2];
		for (i = 1; i <= n; i ++) {
			cin >> a[i];
		}
		Dfs(a, 0);
		cout <<ans << endl;
	}
}

Compilation message

pancake.cpp: In function 'int main()':
pancake.cpp:25:11: warning: unused variable 'r' [-Wunused-variable]
   25 |  ll i, t, r;
      |           ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1064 ms 212 KB Time limit exceeded
2 Halted 0 ms 0 KB -