zoj 1201 Inversion

来源:互联网 发布:windows的鼠标样式 编辑:程序博客网 时间:2024/06/01 16:37
//发觉自己很久没有做过题了,这题思考了很久都没有思考出来,最后只有百度一下!哎!#include "iostream"#include "string.h"using namespace std;int main(){int i, j, num;int a[55];char ch;while (cin >> num && num){cin >> ch;if (ch == 'P')//permutation情况的处理!{for (i = 1; i <= num; i++)cin >> a[i];for (i = 1; i <= num; i++){int count = 0;for (j = 1; j <= num; j++){if (a[j] > i)count++;if (a[j] == i){if (i != 1)cout << " ";cout << count;break;}}}cout << endl;}else if (ch == 'I')//inversion情况的处理!{memset(a, 0, sizeof(a));int n;for (i = 1; i <= num; i++){cin >> n;for (j = 0; j <= n; j++){if (a[j] != 0)n++;}a[n] = i;}for (i = 0; i < num; i++){if (i != 0) cout << " ";cout << a[i];}cout << endl;}}}