inversion.txt

来自「以前ACM在哈工程HRBEU做的一些简单题目」· 文本 代码 · 共 55 行

TXT
55
字号
#include <iostream.h>
int main()
{
	int a[51],b[51];
	int i,j,k,s,n,y,g;
	char c;
	while(cin>>n)
	{
		if(n==0)break;
		cin>>c;
		i=0;
		while(n--)
		{
			cin>>a[i];
			b[i++]=-1;
		}
		if(c=='P')
		{
			for(j=0;j<i;j++)
			{
				s=0;
				for(k=0;k<j;k++)
                if(a[k]>a[j])s++;
				b[a[j]-1]=s;
			}
		}
		else
		{
			for(j=0;j<i;j++)
			{
               g=0;
			for(k=1;k<j+1;k++)
			{
				y=0;
				s=a[j];
				while(b[y]!=k)
				{
					if(b[y]<j+1&&b[y]>k)s++;
					y++;
				}
             if(a[k-1]<=s)g++;
			}
			 b[a[j]+g]=j+1;
			}
		}
		for(j=0;j<i;j++)
		{
			cout<<b[j];
			if(j!=i-1)cout<<" ";
		}
		cout<<endl;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?