PAT 天梯賽 L2 017 人以群分 排序

2021-08-17 03:01:08 字數 1118 閱讀 2066

題目鏈結

思路

第乙個條件是 人群的規模盡可能接近

那麼 n 為偶數的時候 就是 一半 一半

n 為奇數的時候 就是 乙個 一半 + 1 乙個 一半 - 1

第二個條件 就是 總活躍度差距盡可能大

那麼 n 為奇數的時候 外向型的人數 就是 一半 + 1

內向型的人數 就是 一半 - 1

ac**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

double pi = 3.14159265358979323846264338327;

const

double e = 2.718281828459;

const

double eps = 1e-6;

const

int maxn = 0x3f3f3f3f;

const

int minn = 0xc0c0c0c0;

const

int maxn = 1e5 + 5;

const

int mod = 1e9 + 7;

int arr[maxn];

int main()

int half = 0;

sort(arr, arr + n);

if (n % 2 == 0)

else

}

PTA 天梯賽 L2 017 人以群分(排序)

反正肯定是要先排序的對吧,然後題目說了要兩撥人人數盡可能的接近,這句話就理解成偶數個人的時候兩群人人數相等,奇數個人的時候外向的人比內向的人人數多乙個,就ok了。include include include includeusing namespace std int x 1000010 int ...

7 24 人以群分

社交網路中我們給每個人定義了乙個 活躍度 現希望根據這個指標把人群分為兩大類,即外向型 outgoing,即活躍度高的 和內向型 introverted,即活躍度低的 要求兩類人群的規模盡可能接近,而他們的總活躍度差距盡可能拉開。輸入第一行給出乙個正整數n 2 n 10 5 隨後一行給出n個正整數,...

7 11 人以群分 25分

社交網路中我們給每個人定義了乙個 活躍度 現希望根據這個指標把人群分為兩大類,即外向型 outgoing,即活躍度高的 和內向型 introverted,即活躍度低的 要求兩類人群的規模盡可能接近,而他們的總活躍度差距盡可能拉開。輸入格式 標題輸入第一行給出乙個正整數n 2 n 10e 5 隨後一行...