标签:ring int cst 暴力 iterator stream cout little lis
题意:将一个n(1 <= n <= 100)个元素的序列排成非递减序列,每次操作可以指定区间[ L,R ](区间内元素个数为偶数),将区间内第一项与第二项交换,第三项与第四项交换,第五项与第六项……在2W次内完成排序,输出每次操作。
瞎搞即可,不断检查相邻元素是否满足 前者>=后者,不满足即交换,直到序列满足条件位置(n最大为100绝对不会超过2W步)
#include<cstdio> #include<cstring> #include<cctype> #include<cstdlib> #include<cmath> #include<iostream> #include<sstream> #include<iterator> #include<algorithm> #include<string> #include<vector> #include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<list> #define fin freopen("in.txt", "r", stdin) #define fout freopen("out.txt", "w", stdout) #define pr(x) cout << #x << " : " << x << " " #define prln(x) cout << #x << " : " << x << endl typedef long long ll; typedef unsigned long long llu; const int INT_INF = 0x3f3f3f3f; const int INT_M_INF = 0x7f7f7f7f; const ll LL_INF = 0x3f3f3f3f3f3f3f3f; const ll LL_M_INF = 0x7f7f7f7f7f7f7f7f; const double pi = acos(-1.0); const double EPS = 1e-6; const int dx[] = {0, 0, -1, 1}; const int dy[] = {-1, 1, 0, 0}; const ll MOD = 1e9 + 7; const int MAXN = 100 + 10; const int MAXT = 10000 + 10; using namespace std; int n, a[MAXN]; int main(){ while(scanf("%d", &n) == 1){ for(int i = 1; i <= n; ++i) scanf("%d", a + i); bool flag = true; while(flag){ flag = false; for(int i = 1; i < n; ++i) if(a[i] > a[i + 1]){ flag = true; swap(a[i], a[i + 1]); printf("%d %d\n", i, i + 1); } } } return 0; }
CodeForces 686B - Little Robber Girl's Zoo(暴力)
标签:ring int cst 暴力 iterator stream cout little lis
原文地址:http://www.cnblogs.com/tyty-TianTengtt/p/5996032.html