第11回日本情報オリンピック 予選(過去問)から、その提出コードの解答例です。
AtCoderとは、コンテストを通じて、プログラミングやアルゴリズムを学習するサービスです。
atcoder.jp
プログラミングコンテストとは、「与えられた問題をいかに素早く、正確に」解くことができるかを競うものです。
「競技プログラミング」を略して、「競プロ」などと呼ばれています。
#B - サッカー (Soccer)
僕が作成、提出したコードは、以下のとおりです。
/* AtCoder Problems in C++ #B - サッカー (Soccer) https://atcoder.jp/contests/joi2012yo/tasks/joi2012yo_b 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<int> cnt(10001,0); int n; cin>>n; for(int i=0;i<n*(n-1)/2;i++){ int a,b,c,d; cin>>a>>b>>c>>d; a--; b--; if(c>d){ cnt[a]+=3; }else if(c<d){ cnt[b]+=3; }else{ cnt[a]++; cnt[b]++; } } vector<int> v; for(int i=0;i<n;i++){ v.push_back(cnt[i]); } sort(v.begin(),v.end()); for(int i=0;i<n;i++){ cout<<n-(upper_bound(v.begin(),v.end(),cnt[i])-v.begin())+1<<endl; } return 0; }