1. 程式人生 > >B - Brainman (POJ - 1804)

B - Brainman (POJ - 1804)

bsp include man ace blog 求逆 urn str iostream

- 題目大意

給出一串數字,問能是它為順序排列的最小交換數字方式。

- 解答思路

利用歸並排序來求逆序數(註意數組的大小就行了)。

- 代碼

#include<iostream>
using namespace std;
int num[100000];
int main()
{
	int n,m;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> m;
		for (int j = 1; j <= m; j++)
			cin >> num[j];
		int sum = 0;
		for (int i = 1; i < m; i++)
			for (int k = i + 1; k <= m; k++)
				if (num[i] > num[k])
					sum++;
		cout << "Scenario " << "#"<<i<<":" << endl<<sum<<endl<<endl;
	}
	return 0;
}

  

B - Brainman (POJ - 1804)