acwing 1459. 奶牛體操(模擬)
阿新 • • 發佈:2022-03-18
目錄
表示a在b之前出現的次數,根據每行輸入統計即可
題目描述
為了提高健康水平,奶牛們開始進行體操訓練了!
農夫約翰選定了他最喜愛的奶牛 Bessie 來執教其他 NN 頭奶牛,同時評估她們學習不同的體操技術的進度。
KK 次訓練課的每一次,Bessie 都會根據 NN 頭奶牛的表現給她們進行排名。
之後,她對這些排名的一致性產生了好奇。
稱一對不同的奶牛是一致的,當且僅當其中一頭奶牛在每次訓練課中都表現得都比另一頭要好。
請幫助 Bessie 計算一致的奶牛的對數。
輸入格式
輸入的第一行包含兩個正整數 KK 和 NN。
以下 KK 行每行包含整數 1…N1…N 的某種排列,表示奶牛們的排名(奶牛們用編號 1…N1…N 進行區分)。
如果在某一行中 AA 出現在 BB 之前,表示奶牛 AA 表現得比奶牛 BB 要好。
輸出格式
輸出一行,包含一致的奶牛的對數。
資料範圍
1≤K≤101≤K≤10,
1≤N≤201≤N≤20輸入樣例:
3 4 4 1 2 3 4 1 3 2 4 2 1 3
輸出樣例:
4
樣例解釋
一致的奶牛對為 (1,4)、(2,4)、(3,4)、(1,3)(1,4)、(2,4)、(3,4)、(1,3)。
分析題目性質模擬
分析
用g[a][b]
程式碼
#include<iostream> #include<cstdio> using namespace std; const int N = 30; int a[N]; int g[N][N]; int k, n; int main() { scanf("%d%d",&k, &n); for(int i = 0; i < k; i++) { for(int j = 0; j < n; j++) { scanf("%d", &a[j]); } for(int j = 0; j < n - 1; j++) { for(int t = j + 1; t < n; t++) { g[a[j]][a[t]]++; } } } int ans = 0; for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { if(g[i][j] == k) ans++; } } cout << ans; return 0; }