36.n支隊伍比賽,分別編號為0,1,2。。。。n-1,已知它們之間的實力對比關係
題目:
谷歌筆試:
n支隊伍比賽,分別編號為0,1,2。。。。n-1,已知它們之間的實力對比關係,
儲存在一個二維陣列w[n][n]中,w[i][j] 的值代表編號為i,j的隊伍中更強的一支。
所以w[i][j]=i 或者j,現在給出它們的出場順序,並存儲在陣列order[n]中,
比如order[n] = {4,3,5,8,1......},那麼第一輪比賽就是 4對3, 5對8。.......
勝者晉級,敗者淘汰,同一輪淘汰的所有隊伍排名不再細分,即可以隨便排,
下一輪由上一輪的勝者按照順序,再依次兩兩比,比如可能是4對5,直至出現第一名
程式設計實現,給出二維陣列w,一維陣列order 和 用於輸出比賽名次的陣列result[n],求出result。
答案:
//20130415
#include <iostream> using namespace std; void kout(int w[][5], int order[], int result[], int n) { int i = 0; int j = 0; memcpy(result, order, n*sizeof(int)); while (n > 1) { i = 0; j = 0; for (;j < n/2;) { if (order[i] == w[order[i]][order[i+1]]) { result[j] = order[i]; result[n-1-j] = order[i+1]; } else { result[j] = order[i+1]; result[n-1-j] = order[i]; } i = i + 2; j = j + 1; } if (n % 2 != 0) { result[j] = order[i]; n = n + 1; } n = n/2; memcpy(order,result,n*sizeof(int)); } } int main() { int const n = 5; int w[][5] = { {0,1,0,3,0}, {1,1,2,3,1}, {0,2,2,2,4}, {3,3,2,3,3}, {0,1,4,3,4} }; int order1[n] = {0,1,2,3,4}; int result1[n] = {0}; kout(w, order1, result1, n); int const m = 4; int s[][5] = { {0,1,0,3}, {1,1,2,3}, {0,2,2,2}, {3,3,2,3} }; int order2[m] = {0,1,2,3}; int result2[m] = {0}; kout(s, order2, result2, m); return 0; }
相關推薦
36.n支隊伍比賽,分別編號為0,1,2。。。。n-1,已知它們之間的實力對比關係
題目: 谷歌筆試:n支隊伍比賽,分別編號為0,1,2。。。。n-1,已知它們之間的實力對比關係,儲存在一個二維陣列w[n][n]中,w[i][j] 的值代表編號為i,j的隊伍中更強的一支。所以w[i][j]=i 或者j,現在給出它們的出場順序,並存儲在陣列order[n]中
n 支隊伍比賽,分別編號為0,1,2......n-1,已知它們之間的實力對比關係,儲存在一個二維陣列w[n][n]中。。。
題目: n 支隊伍比賽,分別編號為0,1,2......n-1,已知它們之間的實力對比關係,儲存在一個二維陣列w[n][n]中,w[i][j] 的值代表編號為i,j 的隊伍中更強的一支,所以w[i][j]=i 或者j,現在給出它們的出場順序,並存儲在陣列order[n]
約瑟夫環問題:有n個人排成一列或是一圈,從編號為k的人開始報數,數到m的那個人出列。(Java實現)
文章目錄1.題目2.解析3.總程式碼 約瑟夫環問題 約瑟夫環描述:約瑟夫環(約瑟夫問題)是一個數學的應用問題:已知n個人(以編號1,2,3…n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又
(程式設計師面試寶典)已知n個人圍坐在一張圓桌旁,從編號為k的人開始..................
【題目】 設有n個人(以編號為1,2,3…….n分別表示)圍坐在圓桌周圍,從編號為k的人開始報數,數到m的人就站出來,他的下一個人又從1開始報數,數到m的人就站出來,依此規律重複下去,知道全部的人都站出來為止。 【程式碼實現】 這裡選擇迴圈連結串列作為
用小於等於n元去買100只雞,大雞5元/只,小雞3元/只,還有一種1/3元/只得小雞,分別記為下,x,y,z只,程式設計求解x,y,z所有可能解
/***************************************************** copyright (C), 2014-2015, Lighting Studio. Co., Ltd. File name: Author:
CF E. Vasya and a Tree】 dfs+樹狀陣列(給你一棵n個節點的樹,每個點有一個權值,初始全為0,m次操作,每次三個數(v, d, x)表示只考慮以v為根的子樹,將所有與v點距離小於等於d的點權值全部加上x,求所有操作完畢後,所有節點的值)
題意: 給你一棵n個節點的樹,每個點有一個權值,初始全為0,m次操作,每次三個數(v, d, x)表示只考慮以v為根的子樹,將所有與v點距離小於等於d的點權值全部加上x,求所有操作完畢後,所有節點的值 首先要明確兩件事情性質1.每個人的操作只會影響到他的子孫(包括自己) 性質1.每個人的操
SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:1772,但實際為 0:0)。在文件 'D:Program FilesMicrosoft SQL Ser
red 完成 sdn blank net tools ocl views 偏移 SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:1772,但實際為 0:0)。在文件 ‘D:\Program Files\Microsoft S
有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
無重復 個數 nbsp 宋體 spa 個數字 bsp != 重復數 .程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去掉不滿足條件的排列。 2.程序源代碼: ‘‘‘ for i in range(1,5): for j in range
Java 數組 要求將以上數組中的 0 項去掉,將不為 0 的值存入一個新的數組
pac 數組 system 靜態 args 將不 pub bsp clas package com.xuyigang1234.chp01; public class Demo9 { public static void main(String[] args) {
題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的四位數?都是多少?
#include<stdio.h> int main() { int i,j,k,t=0,l; for(i=1;i<5;i++) for(j=1;j<5;j++) for(k=1;k<5;k++) for(l=1;l<5;l+
題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
for迴圈的巢狀輸出即可,不要想太多。 public class Test11 { public static void main(String[] args) { int i,j,k,sum = 0; System.out.print("符合條件的數有:"
jupyter notebook下.ipynb格式執行SSD程式碼正常,但是轉換為.py格式在終端用python 指令執行就報錯,請問這是為什麼?
nvidia-smi檢視自己的gpu資訊 export CUDA_VISIBLE_DEVICES='' 在終端python 之前輸入,勉強能用,ssd速度為4fps太慢 解決方法一: 一些部落格(https://blog.csdn.net/zjc910997316/article/
Python——有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
用python做一個簡單的數字題,希望多初學者帶來一點點幫助 第一種方式: 1 for x in range(1,5): 2 for y in range(1,5): 3 for z in range(1,5): 4 if (x!=y) and (y
**MySql基礎 篇1/共2篇 [史上最全重點,web基礎day02] *
今日內容: 1. mysql概述 2. sql概述 3. DDl 4. DML MySql概述: 1. 記憶體和檔案的優缺點: * 記憶體:速度快,但是不能永久儲存,資料是臨時狀態。 * 檔案:資料可以永久儲存,操作資料不方便,查詢某個資料。 2. 資料庫
1、2、4、9個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
1 int arr[] = { 1, 2, 4, 9 }; 2 for (int i = 0, num = 0; i < arr.length; i++) { 3 for (int j = 0; j < arr.length; j++) { 4
genymotion 下載模擬器下n久特別慢無法下載進度為0教你用迅雷下載這些虛擬機器多爽啊想暫停就暫停
genymotion 下載裝置一直失敗 genymotion無法下載虛擬機器的解決辦法。 通通用我這個 ,迅雷吧。簡單多了。 http://dl.genymotion.com/dists/4.1.1/ova/genymotion_vbox86p_4.1.
C#,匯出Excel時,第一個為0時不顯示,
只需在前面加上單引號 " ' "可,如下 dcv[2] ="'" +drBH["BH_CHDZ"].ToString(); ;//補貨倉 詳細程式碼如下: private void Report_BHD_Excel_MB()//轉Excel模板; {
spring boot 1.4.2.RELEASE+Thymeleaf+mybatis 整合通用maper,與分頁外掛:
spring boot 1.4.2.RELEASE+Thymeleaf+mybatis 整合通用maper,與分頁外掛: pom.xml <parent> <groupId>org.springframe
C# Form.Hide()後再 Show()時,Dock不為 none的 控制元件將不會顯示。
具體原因不是很清楚,查看了下 Control 的原始碼, Hide 和Show方法只是改變了 Visible屬性,然後看了下OnVisibleChanged方法,裡面的內容比較多,我就沒細看,想來也是控制其上的子控制元件的 visible屬性,但沒看到與 dock有何關
給定一個二叉樹,節點值為0-9,從根節點到葉子結點組成一個數,求二叉樹所有組成的數的和
根節點 到葉子節點組成一個數 前序遍歷 每層的值都為上一層*10+本層結點的值 int sumNumbers(TreeNode *root) { int sum=0; if(root==NULL) re