传送门:这里
题意:一摞书,无序,可以把某本书抽到最顶上,问最少抽几次可以使书有序。
基本原理:把大的抽上去。
实现,找到最大的那个,然后从后向前扫描,连续几个数X,需要抽的数目就是书的数目-x
AC代码:
#include<bits/stdc++.h> using namespace std; int main() { int T, ans, m[1000]; cin >> T; while (T--) { int n = 0; cin >> n; for (int i = 1; i <= n; i++) cin >> m[i]; ans = n; for (int i = n; i > 0; i--) { if (ans == m[i]) ans--; } cout << ans << endl; } return 0; }