PAT B1077相互評価スコア計算(20分)

トピックリンクhttps://pintia.cn/problem-sets/994805260223102976/problems/994805262303477760

タイトル説明
浙江省のコンピュータコース、クロススコア群のレポートは、このリンクがしばしばあります。自分の仕事を紹介するグループステージ、彼らのパフォーマンスのスコアのための聴衆の中に他のグループ。相互評価のスコアのこの最後のグループは、によって計算される。他の全ての群のスコアは、最高点と最低点を除去し、平均点の残りの部分は、G 1と称される;教師評価は、このグループと呼ばれますこれは、G 2です。このスコア基(G 1 G2)/ 2、小数点後の最終的な結果は丸められています。この質問は、ピア評価スコアのグループごとに計算されたヘルプ教師にプログラムを記述する必要があります。

入力された
最初の行の入力は、2つの正の整数N(> 3)及びMはそれぞれ、パケットの数うち、多くて100以下を与えます。次いで、N行、セットの各列は、他のスコアにN-1のグループに続く所定の教師評価である第一れたN(整数に保証されている範囲内の整数)によって得られたスコアを与えられます。無効な範囲で、スコアを無視しなければならない場合には、区間内の有効な入力[M 0]は整数でなければなりません。件名教師は評価が正当であることを確認するために、各グループはクラスメートから少なくとも三つの合法的なスコアリングを持っています。

出力は、
出力の各グループのための最終的なスコアです。行ごとの各スコア。

サンプル入力
。6 50
42 41である49 49 35 38である
36 51 50 28 -1 30
40 36 47 49 41 33である
30250から25274531
48 0 50 50 0 1234
43 41である42である36 29 29であります

サンプル出力
42は
33である
41である
31である
37 [
39

コード

#include <cstdio>

int main() {
	int n, m, a[100010];
	int min, max, sum, num;
	scanf("%d%d", &n, &m);
	for(int i = 0; i < n; i++) {
		min = 101; max = 0; sum = 0; num = 0;
		for(int j = 0; j < n; j++) {
			scanf("%d", &a[j]);
			if(j > 0 && a[j] >= 0 && a[j] <= m) {
				if(a[j] > max)
					max = a[j];
				if(a[j] < min)
					min = a[j];
				sum += a[j];
				num++;
			}
		}
		printf("%d\n", (int)(((sum - min - max) * 1.0 / (num - 2) + a[0]) / 2.0 +  0.5));
	}
	return 0;
}
公開された327元の記事 ウォン称賛12 ビュー20000 +

おすすめ

転載: blog.csdn.net/Rhao999/article/details/105189720