解題思路:
首先按題意分4類,假設d為德分,c為才分
1.前提首先d和c必須大於l
2.第一類:d>h && c>h 才德全盡
3.第二類:d>h && cc 才德兼亡,但尚有德勝才
5.第四類: 其他
6.排序:(1.分類,2.分類總分排序,3.總分相同德分排序,4.德分相同學號順序)
中間有3個測試用例容易超時,go超時問題,邏輯都正常的話,一般出現在io層,我把輸入由scanf換成了bufio就過了
package main
import (
"bufio"
"fmt"
"os"
"sort"
"strconv"
"strings"
)type student struct
type students student
func (s students) len() int
func (s students) less(i, j int) bool else
} else
} else
}func (s students) swap(i, j int)
func main() else if dscore >= h && cscore < h else if dscore < h && cscore < h && dscore >= cscore else
stu[j].total = stu[j].dscore + stu[j].cscore
j++} sort.sort(stu)
fmt.println(j)
for i:=0; i}
pat乙 1015 德才論
宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第一行給出 3 個正整數,分別為 n 10...
PAT乙級 1015 德才論
宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第1行給出3個正整數,分別為 n 105 ...
PAT 乙級 1015 德才論
宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第1行給出3個正整數,分別為 n 105 ...