//发觉自己很久没有做过题了,这题思考了很久都没有思考出来,最后只有百度一下!哎!
#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;
}
}
}
zoj 1201 Inversion
最新推荐文章于 2024-07-05 10:06:32 发布