iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
自我挑戰組

cpe30天練習系列 第 10

cpe練習day10

  • 分享至 

  • xImage
  •  

今天練習的是cpe的Train Swapping

程式碼

#include <iostream>
#include <algorithm>
using namespace std;

int main() 
{
    int N, L;
    cin >> N;
    while (N--) 
	{
        cin >> L;
        int arr[L];
        int count = 0;
        for (int i = 0; i < L; i++) 
		{
            cin >> arr[i];
        }
        for (int i = 0; i < L - 1; i++) 
		{
            for (int j = 0; j < L - 1 - i; j++) 
			{
                if (arr[j] > arr[j + 1]) 
				{
                    swap(arr[j], arr[j + 1]);
                    count++;
                }
            }
        }
        cout << "Optimal train swapping takes " << count << " swaps." << endl;
    }
    return 0;
}

解題方向

  • N:輸入的測資組數
  • 宣告一個長度為L的陣列arr,用迴圈把L個車廂編號讀進陣列
  • 使用氣泡排序(Bubble Sort)
  • 用count++記錄交換次數

上一篇
cpe練習day9
系列文
cpe30天練習10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言