晨练方案
约翰的N头奶牛(1≤N≤100)站成一排。对于每一个1≤i≤N,从左往右数第i头奶牛的编号为i。约翰想到了一个新的奶牛晨练方案。他让她们重复以下包含两个步骤的过程K(1≤K≤10^9)次:
当前从左往右数在位置A1…A2 的奶牛序列反转她们的顺序(1≤A1<A2≤N)。
然后,在当前从左往右数在位置 B1…B2 的奶牛序列反转她们的顺序(1≤B1<B2≤N)。
当奶牛们重复这一过程K次后,请对每一个1≤i≤N输出从左往右数第i头奶牛的编号。
测试点性质:
· 测试点 2-3 满足K≤100。
· 测试点 4-13 没有额外限制。
输入格式
输入的第一行包含N和K。第二行包含A1和A2,第三行包含B1和B2。
输出格式
在第i行输出晨练结束时从左往右数第i头奶牛的编号。
输入/输出例子1
输入:
7 2
2 5
3 7
输出:
1
2
4
3
5
7
6
初始时,奶牛们的顺序从左往右为 [1,2,3,4,5,6,7]。在这一过程的第一步过后,顺序变为[1,5,4,3,2,6,7]。在这一过程的第二步过后,顺序变为 [1,5,7,6,2,3,4]。再重复这两个步骤各一次可以得到样例的输出,如下图↓:
再重复这两个步骤就可以得到结果了
废话不多说,上代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[