L - Who is the Champion
生活随笔
收集整理的這篇文章主要介紹了
L - Who is the Champion
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
L - Who is the Champion 計蒜客 - 42587
題意:
給出一個N階矩陣,( i , j ) (i, j)(i,j)處的數字表示這場比賽球隊i ii踢進球隊j jj多少球。兩支球隊平局則各加一分,一方獲勝則獲勝方加三分,負方不加分也不扣分。輸出冠軍隊編號。優先比較分數,分數一樣的話比較勝場數,勝場數一樣的話輸出play-offs。
題解:
隊友寫的。。
定義一個結構體,然后按照題目算分,排序就完事了
代碼:
#include<bits/stdc++.h> typedef long long ll; using namespace std; int a[200][200]; struct h{int k;int k1;int id;int w; }; h k[200]; bool cmp(h a,h b){if(a.w==b.w){return (a.k-a.k1)>(b.k-b.k1);}elsereturn a.w>b.w; }int main() {int n;cin>>n;for(int i=1;i<=n;i++){k[i].id=i;for(int j=1;j<=n;j++){cin>>a[i][j];k[i].k+=a[i][j];}}if(n==1){printf("1");return 0;}for(int j=1;j<=n;j++){for(int i=1;i<=n;i++){k[j].k1+=a[i][j];}}for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(a[i][j]>a[j][i]){k[i].w+=3;}else if(a[i][j]==a[j][i]){k[i].w++;k[j].w++;}else{k[j].w+=3;}} }sort(k+1,k+1+n,cmp);if(k[1].w==k[2].w&&k[1].k-k[1].k1==k[2].k-k[2].k1){printf("play-offs");}elseprintf("%d",k[1].id);return 0; }總結
以上是生活随笔為你收集整理的L - Who is the Champion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平底足有什么危害
- 下一篇: C - And and Pair