ホームページ >ウェブフロントエンド >htmlチュートリアル >Codeforces Round #281 (Div. 2) (A、B、C、D题)_html/css_WEB-ITnose
昨日、CF をプレイしてとても楽しかったのですが、レーティングが上がらず、レーティングを上げるチャンスを掴めませんでした。 。
4 問合格できたかもしれませんが、再評価の結果、2 問で不合格でした。 。ため息:-(
A. Vasya と Football
アイデア: 全員を数えて、イエローカード +1、レッドカード +2
数字が最優先の場合時間が 2 を超えると出力されます。
質問リンク: A. Vasya and Football
AC コード:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <string>#include <cmath>using namespace std;struct node { char name[25]; int a[105];}home, away;int main(){ for(int i=0; i<105; i++) { home.a[i] = 0; away.a[i] = 0; } scanf("%s %s", home.name, away.name); int n; scanf("%d", &n); while(n--) { int t, e; char ch1[3], ch2[3]; scanf("%d %s %d %s", &t, ch1, &e, ch2); if(ch1[0]=='h') { if(ch2[0]=='y') { home.a[e]++; if(home.a[e]==2)printf("%s %d %d\n", home.name, e, t); } else if(ch2[0]=='r') { home.a[e]+=2; if(home.a[e]==2||home.a[e]==3)printf("%s %d %d\n", home.name, e, t); } } else { if(ch2[0]=='y') { away.a[e]++; if(away.a[e]==2)printf("%s %d %d\n", away.name, e, t); } else if(ch2[0]=='r') { away.a[e]+=2; if(away.a[e]==2||away.a[e]==3 ) printf("%s %d %d\n", away.name, e, t); } } } return 0;}
B. レスリング
アイデア: 最初に sum>0 =>、2 番目に sum<0 => を使用して、
sum=0 を決定します。 、次に辞書の順序を決定し、それが同じである場合は、最後のアクションを決定します。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <string>#include <cmath>using namespace std;int judge(int a[], int b[], int na, int nb){ int i, j; for(i=0, j=0; i<na, j<nb; i++, j++) { if(a[i]>b[i])return 1; else if(a[i]<b[i])return 0; } if(i==na&&j!=nb)return 0; else if(j==nb&&i!=na)return 1; else if(i==na&&j==nb)return 2;}int main(){ long long sum=0; int n, a[200005], b[200005], na=0, nb=0; scanf("%d", &n); int t; for(int i=0; i<n; i++) { scanf("%d", &t); if(t>0)a[na++] = t; else if(t<0)b[nb++] = -t; sum+=t; } if(sum>0)printf("first\n"); else if(sum<0)printf("second\n"); else if(judge(a,b,na,nb)==1)printf("first\n"); else if(judge(a,b,na,nb)==0)printf("second\n"); else if(judge(a,b,na,nb)==2&&t>0)printf("first\n"); else if(judge(a,b,na,nb)==2&&t<0)printf("second\n"); return 0;}
C。とバスケットボール
アイデア: すべてのボールを並べ替え、最初に 3 に割り当て、次に順番に 2 に減らしてから判断します 途中のプロセスの MAX
をやっていたときは少し混乱しました昨日の質問
質問リンク: C. Vasya とバスケットボール
AC コード:
りー
D。 Vasya と Chess
タイトルリンク: D. Vasya と Chess
うわぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ