Home >Web Front-end >HTML Tutorial >Codeforces Round #281 (Div. 2) Solution Report A.B.C.D._html/css_WEB-ITnose

Codeforces Round #281 (Div. 2) Solution Report A.B.C.D._html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:52:531075browse

A - Vasya and Football

Pure simulation. . What is more pitiful is that there are some things that are not in line with common sense of football. .

The code is as follows:

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <set>#include <algorithm>using namespace std;#define LL __int64const int INF=0x3f3f3f3f;struct node{        int num, time, f;        char ah;}fei[100];int cmp(node x, node y){        return x.time<y.time;}int foul(char c){        if(c=='y') return 1;        return 2;}int main(){        char s1[30], s2[30], c1, c2;        int n, i, j, t, cnt=0, num, flag;        scanf("%s%s",s1,s2);        scanf("%d",&n);        for(i=0;i<n;i++){                scanf("%d %c %d %c",&t,&c1,&num,&c2);                flag=0;                for(j=0;j<cnt;j++){                        if(fei[j].ah==c1&&fei[j].num==num) {                                fei[j].f+=foul(c2);                                if(fei[j].f-foul(c2)<2)                                fei[j].time=t;                                flag=1;                                break;                        }                }                if(!flag){                        fei[cnt].num=num;                        fei[cnt].time=t;                        fei[cnt].ah=c1;                        fei[cnt++].f=foul(c2);                }        }        sort(fei,fei+cnt,cmp);        for(i=0;i<cnt;i++){                if(fei[i].f>=2){                        if(fei[i].ah=='h') printf("%s ",s1);                        else printf("%s ",s2);                        printf("%d %d\n",fei[i].num,fei[i].time);                }        }        return 0;}

B - Vasya and Wrestling

Water question. . Just compare the sum first and then compare the lexicographic order according to the meaning of the question. There's really not much to say. .

The code is as follows:

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <set>#include <algorithm>using namespace std;#define LL __int64const int INF=0x3f3f3f3f;LL a[210000], b[210000];int main(){        LL cnt1=0, cnt2=0, n, x, s1=0, s2=0, t;        int i;        scanf("%I64d",&n);        while(n--){                scanf("%I64d",&x);                if(x>0){                        a[cnt1++]=x;                        s1+=x;                }                else{                        b[cnt2++]=-x;                        s2-=x;                }                if(n==0) t=x>0?1:2;        }        if(s1>s2) printf("first\n");        else if(s1<s2) printf("second\n");        else{                int flag=0;                for(i=0;i<cnt1&&i<cnt2;i++){                        if(a[i]>b[i]){                                flag=1;                                break;                        }                        else if(a[i]<b[i]){                                flag=2;                                break;                        }                }                if(flag==1) puts("first");                else if(flag==2) puts("second");                else if(cnt1>cnt2) puts("first");                else if(cnt1<cnt2) puts("second");                else if(t==1) puts("first");                else puts("second");        }        return 0;}
C - Vasya and Basketball

It’s also a question. . But I just knelt down. . All details are missing. . I was wrong 11 times. . . . . I was also handed question D once in the middle. . .

First save the various numbers that have appeared, sort them, and then divide them into two parts to determine how many two-pointers and three-pointers there are between the two people, and just find the maximum value.

The code is as follows:

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <set>#include <algorithm>using namespace std;#define LL __int64const int INF=0x3f3f3f3f;int a[210000], b[210000], n, m, c[420000], f[420000];int bin_search(int d[], int x, int high){        int low=1, mid, ans=0;        while(low<=high) {                mid=low+high>>1;                if(d[mid]<=x) {                        ans=mid;                        low=mid+1;                }                else high=mid-1;        }        return ans;}int main(){        int i, j, aa, bb, max1=-2*1e9, x, y, z, cnt=1, p1, p2;        scanf("%d",&n);        for(i=1; i<=n; i++) {                scanf("%d",&a[i]);                c[i]=a[i];        }        scanf("%d",&m);        for(i=1; i<=m; i++) {                scanf("%d",&b[i]);                c[i+n]=b[i];        }        sort(c+1,c+n+m+1);        sort(a+1,a+n+1);        sort(b+1,b+m+1);        c[0]=0;        f[0]=0;        for(i=1;i<=n+m;i++){                if(c[i]!=c[i-1]){                        f[cnt++]=c[i];                }        }        for(i=0;i<cnt;i++){                x=bin_search(a,f[i],n);                y=bin_search(b,f[i],m);                p1=x*2+(n-x)*3;                p2=y*2+(m-y)*3;                                if(max1<p1-p2){                        max1=p1-p2;                        aa=p1;                        bb=p2;                }        }        printf("%d:%d\n",aa,bb);        return 0;}


D - Vasya and Chess

Guess question,, so I I was guessing, it turns out that I can't. .

The code is as follows:

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <set>#include <algorithm>using namespace std;#define LL __int64const int INF=0x3f3f3f3f;int main(){        int n;        scanf("%d",&n);        if(n%2==0)  printf("white\n1 2\n");        else                printf("black\n");        return 0;}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn