題目描述
牛牛的作業薄上有乙個長度為 n 的排列 a,這個排列包含了從1到n的n個數,但是因為一些原因,其中有一些位置(不超過 10
個)看不清了,但是牛牛記得這個數列順序對的數量是 k,順序對是指滿足 i < j 且 a[i] < a[j] 的對數,請幫助牛牛計算出,符合這個要求的合法排列的數目。
輸入描述:
每個輸入包含乙個測試用例。每個測試用例的第一行包含兩個整數 n 和 k(1 <= n <= 100, 0 <= k <= 1000000000),接下來的 1 行,包含 n 個數字表示排列 a,其中等於0的項表示看不清的位置(不超過 10 個)。
輸出描述:
輸出一行表示合法的排列數目。
示例1輸入
5 54 0 0 2 0輸出2
將還沒有放進去的數進行全排列再依次放進去
#include#include#includeusing namespace std;
int data1[105]; // 原始資料
vectorxiabiao; // 哪些位置沒有加入資料
int data2[15];// 還沒有加入的資料
int len;
int res = 0;
int n,k;
bool is_ok()
if(cnt == k)return true;
return false;
}void quanpailie(int k)
if(is_ok())res++;
} else }
}int main()
int i = 0;
set::iterator it = data.begin();
for(;it != data.end();it++) data2[i++] = *it;
len = xiabiao.size(); // 還沒有放進去的個數
quanpailie(0);
cout << res;
}
網易校招 數對 數學
題目描述 牛牛以前在老師那裡得到了乙個正整數數對 x,y 牛牛忘記他們具體是多少了。但是牛牛記得老師告訴過他x和y均不大於n,並且x除以y的餘數大於等於k。牛牛希望你能幫他計算一共有多少個可能的數對。輸入描述 輸入包括兩個正整數n,k 1 n 10 5,0 k n 1 輸出描述 對於每個測試用例,輸...
牛客網2017校招真題 數列還原
題目描述 解題思路 首先,順序對的個數互不影響。也就是說,對於陣列a來說,增加 插入 乙個數字,其a的順序對個數不變,所以新陣列a 1的順序對個數 陣列a的順序對 新插入的數字產生的順序對.進而推廣到,增加c個數字,新陣列a c的順序對 陣列a的順序對 陣列c的順序對 每個新插入的數字產生順序對 共...
C 研發 遊戲研發 校招資料整理
由於個人其他原因,投入秋季校招大軍的時間較晚,因此,為了更快 更有效地應對校招,做了較多知識點梳理的工作。結合牛客網 部落格大牛分享的各種資料及自己在校招的親身體驗總結,對我自己較為有用的資料進行了梳理,由於本人對c 使用較多且較為感興趣,以及自己在研究生期間從事較多的三維視覺化方向專案的研發,所以...