90WA on #1
查看原帖
90WA on #1
542773
leogao120129楼主2024/6/10 18:45

评测记录

#include<bits/stdc++.h>
using namespace std;
#define int long long
struct o{
    char f;
    int u;
}e[4][20];
int h1 = 0, h2 = 0, h3 = 0, h4 = 0;
bool p[10];
int s, dd;
int h[20]={0,-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
int a, b, c, d;
int ansa, ansb, ansc, ansd;
signed main(){
    while(1){
        scanf("%d ", &a);
        for(int i = 1; i <= a; i ++ ){
            scanf("%c%d ", &e[0][i].f, &e[0][i].u);
            if(e[0][i].f == 'H')h1 ++ ;
            if(e[0][i].f == 'D')dd = 1;
            if(e[0][i].f == 'S')s ++ ;
        }
        if(h1 == 13 && dd == 1 && s == 2) p[0] = 1;
        dd = s = 0;
        scanf("%d ", &b);
        for(int i = 1; i <= b; i ++ ){
            scanf("%c%d ", &e[1][i].f, &e[1][i].u);
            if(e[1][i].f == 'H')h2 ++ ;
            if(e[1][i].f == 'D')dd = 1;
            if(e[1][i].f == 'S')s ++ ;
        }
        if(h2 == 13 && dd == 1 && s == 2) p[1] = 1;
        dd = s = 0;
        scanf("%d ", &c);
        for(int i = 1; i <= c; i ++ ){
            scanf("%c%d ", &e[2][i].f, &e[2][i].u);
            if(e[2][i].f == 'H')h3 ++ ;
            if(e[2][i].f == 'D')dd = 1;
            if(e[2][i].f == 'S')s ++ ;
        }
        if(h3 == 13 && dd == 1 && s == 2) p[2] = 1;
        dd = s = 0;
        scanf("%d ", &d);
        for(int i = 1; i <= d; i ++ ){
            scanf("%c%d ", &e[3][i].f, &e[3][i].u);
            if(e[3][i].f == 'H')h4 ++ ;
            if(e[3][i].f == 'D')dd = 1;
            if(e[3][i].f == 'S')s ++ ;
        }
        if(h4 == 13 && dd == 1 && s == 2) p[3] = 1;
        dd = s = 0;
        if(a+b+c+d == 0) break;
        if(a == 16){
            printf("+1000 0 0 0 \n");
            continue;
        } 
        if(b == 16){
            printf("0 +1000 0 0 \n");
            continue;
        } 
        if(c == 16){
            printf("0 0 +1000 0 \n");
            continue;
        } 
        if(d == 16){
            printf("0 0 0 +1000 \n");
            continue;
        } 
        if(h1 != 13 && h2 != 13 && h3 != 13 && h4 != 13){
            for(int i = 1; i <= a; i ++ ){
                if(e[0][i].f == 'H') ansa += h[e[0][i].u];
                if(e[0][i].f == 'S') ansa -= 100;
                if(e[0][i].f == 'D') ansa += 100;
            }
            for(int i = 1; i <= a; i ++ ){
                if(e[0][i].f == 'C') {
                    if(a > 1) ansa *= 2;
                    else ansa += 50;
                }
            }
            for(int i = 1; i <= b; i ++ ){
                if(e[1][i].f == 'H') ansb += h[e[1][i].u];
                if(e[1][i].f == 'S') ansb -= 100;
                if(e[1][i].f == 'D') ansb += 100;
            }
            for(int i = 1; i <= b; i ++ ){
                if(e[1][i].f == 'C') {
                    if(b > 1) ansb *= 2;
                    else ansb += 50;
                }
            }
            for(int i = 1; i <= c; i ++ ){
                if(e[2][i].f == 'H') ansc += h[e[2][i].u];
                if(e[2][i].f == 'S') ansc -= 100;
                if(e[2][i].f == 'D') ansc += 100;
            }
            for(int i = 1; i <= c; i ++ ){
                if(e[2][i].f == 'C') {
                    if(c > 1) ansc *= 2;
                    else ansc += 50;
                }
            }
            for(int i = 1; i <= d; i ++ ){
                if(e[3][i].f == 'H') ansd += h[e[3][i].u];
                if(e[3][i].f == 'S') ansd -= 100;
                if(e[3][i].f == 'D') ansd += 100;
            }
            for(int i = 1; i <= d; i ++ ){
                if(e[3][i].f == 'C') {
                    if(d > 1) ansd *= 2;
                    else ansd += 50;
                }
            }
        }else{
            if(p[0] == 1)ansa += 500;
            else{
                if(h1 == 13) ansa += 200;
                for(int i = 1; i <= a; i ++ ){
                    if(e[0][i].f == 'S') ansa -= 100;
                    if(e[0][i].f == 'D') ansa += 100;
                    if(e[0][i].f == 'C') {
                        if(a > 1) ansa *= 2;
                        else ansa += 50;
                    }
                }
            }
            if(p[1] == 1)ansb += 500;
            else{
                if(h2 == 13) ansb += 200;
                for(int i = 1; i <= b; i ++ ){
                    if(e[1][i].f == 'S') ansb -= 100;
                    if(e[1][i].f == 'D') ansb += 100;
                    if(e[1][i].f == 'C') {
                        if(b > 1) ansb *= 2;
                        else ansb += 50;
                    }
                }
            }
            if(p[2] == 1)ansc += 500;
            else{
                if(h3 == 13) ansc += 200;
                for(int i = 1; i <= c; i ++ ){
                    if(e[2][i].f == 'S') ansc -= 100;
                    if(e[2][i].f == 'D') ansc += 100;
                    if(e[2][i].f == 'C') {
                        if(c > 1) ansc *= 2;
                        else ansc += 50;
                    }
                }
            }
            if(p[3] == 1)ansd += 500;
            else{
                if(h4 == 13)ansd += 200;
                for(int i = 1; i <= d; i ++ ){
                    if(e[3][i].f == 'S') ansd -= 100;
                    if(e[3][i].f == 'D') ansd += 100;
                    if(e[3][i].f == 'C') {
                        if(d > 1) ansd *= 2;
                        else ansd += 50;
                    }
                }
            }
        }
        if(ansa > 0)printf("+%d ", ansa);
        else printf("%d ", ansa);
        if(ansb > 0)printf("+%d ", ansb);
        else printf("%d ", ansb);
        if(ansc > 0)printf("+%d ", ansc);
        else printf("%d ", ansc);
        if(ansd > 0)printf("+%d\n", ansd);
        else printf("%d\n", ansd);
        a = b = c = d = h1 = h2 = h3 = h4 = ansa = ansb = ansc = ansd = p[0] = p[1] = p[2] = p[3] = 0;
    }
    return 0;
}
2024/6/10 18:45
加载中...