30分求助
查看原帖
30分求助
975726
C202301楼主2023/7/22 22:40
#include<iostream>
using namespace std;
int main()
{
	int n,m,k,l,p,u,v,w,z,minp=1000000001;
	cin>>n>>m;
	int y[n+5];
	long long a[n+5][m+5],t;
	for(l=1;l<=n;l++)
	{
		cin>>a[l][1];
		y[l]=l;
	}
	for(k=1;k<=n;k++)
	for(u=2;u<=m+1;u++)
	a[k][u]=a[k][u-1]*k;
	for(v=1;v<=n-1;v++)
	for(w=1;v+w<=n;w++)
	{
		for(p=1;p<=m+1;p++)
		{
			if(a[v][p]!=a[v+w][p]&&p<minp)
			minp=p;
		}
		if(a[v][minp]>a[v+w][minp])
		{
			t=y[v];
			y[v]=y[v+w];
			y[v+w]=t;
		}
	}
	for(z=1;z<=n;z++)
	cout<<y[z]<<" ";
	return 0;
}
2023/7/22 22:40
加载中...