問題 H 象棋對局勝負

2022-05-01 21:39:12 字數 1018 閱讀 5460

題目描述

快碼佳編四兄弟姐妹在丁總那已經呆了近乙個月了。

最近丁總給四兄弟姐妹出了個難題,希望他們幫助丁總的公司選拔出一批優秀的人才擔任重要的職位。當然這些職位對智商的要求各自不同。為了讓更多高智商的到合適的位置,他們需要按智商高低排個序。但智商不好測,最終大家一致決定通過象棋比賽來分辨。

象棋比賽計分規則如下:

(1)每局對弈雙方,勝者得3分,負者得0分,如果平局各得1分。

(2)每個棋手最終得分為每局得分和。

(3)每個棋手對弈過的所有對手最終得分的和為該棋手的對手分。比如a只跟b和c下過,最好得分為a:0分,b:5分,c:5分,那麼a的對手分為10分

排名規則如下:

(1)按照每個棋手最終得分,得分高的排在前

(2)如果有棋手得分相同,那麼比較對手分,對手分高的排名靠前

(3)如果得分與對手分都相同,那麼序號小的排名靠前

這樣保證每個棋手排名不會相同。

輸入第一行輸入1個整數m,總共有m人參加(10 <= m <= 100)

然後是m行,分別為第1到m號棋手的總分,對手分

然後是乙個整數k,表示需要挑選出前k個排名靠前的人

輸出按照排名從高到低輸出k行,每行為編號,得分,對手分,排名,中間用乙個空格隔開

樣例輸入

43 5

1 71 1

5 72

樣例輸出

4 5 7 1

1 3 5 2

題意:根據總分,對手分,序號排序.

水題,用sort+comp或者過載運算子

#include using namespace std;

const int n=200;

struct gradea[n];

bool comp(grade a,grade b)

sort(a+1,a+1+n,comp);

int k;

cin>>k;

for(int i=1;i<=k;i++)

return 0;

}

象棋比賽問題(排序 C )

象棋比賽chess 問題描述 有n個人要參加西洋棋比賽,該比賽要進行k場對弈。每個人最多參加兩場對弈,最少參加零場對弈。每個人都有乙個與他人都不相同的等級 用乙個正整數來表示 在對弈中,等級高的人必須用黑色的棋子,等級低的人必須用白色的棋子。每個人最多只能用一次黑色的棋子和一次白色的棋子。為了增加比...

西洋棋皇后問題

1 八皇后問題 2 求解思路 3 實現 include include object.h include linklist.h using namespace std using namespace mylib template class queuesolution public object s...

象棋中的跳馬問題

有一張p q的棋盤,並且棋盤中有障礙物 用來限制馬的行動,即中國象棋中的蹩馬腿 有乙個棋子馬 走 日 字形路線 要從起始點走到終點。輸入部分 第一行輸入乙個整數n,表示有n組測試例項,每組測試資料第一行輸入兩個整數p和q,表示棋盤的大小 1 p,q 100 每組測試資料第二行輸入4個整數x1,y1,...