Đánh bài 3 cây


Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 10M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Đánh bài ba cây khá phổ biến. Bộ bài 52 quân chúng ta bỏ hết các quân bài 10, J, Q, K ra chỉ giữ lại quân Át (tương ứng với giá trị bằng 1) và các quân bài từ 2 đến 9. Mỗi một lượt chơi từng người sẽ được chia cho 3 quân bài, người chơi sẽ tính tổng điểm của ba quân bài lại và chỉ lấy giá trị nhỏ hơn hoặc bằng 10 như sau:

  • Nếu tổng điểm lớn hơn 10 nhỏ hơn hoặc bằng 20 sẽ trừ 10 để ra giá trị nhỏ hơn hoặc bằng 10
  • Nếu tổng điểm lớn hơn 20 sẽ trừ đi 20 để ra giá trị nhỏ hơn hoặc bằng 10

Ví dụ tổng được 20 điểm thì tính là 10, còn 13 hoặc 23 điểm chỉ được tính là 3

Bài toán đặt ra là có n trận đấu giữa hai người chơi với nhau, Với mỗi trận đấu cứ ai có điểm cao hơn sẽ thắng trận đó được 1 điểm, còn bằng nhau thì hòa và không ai có điểm. Bạn hãy tính số trận thắng của mỗi người chơi sau n trận.

Input

  • Dòng 1 chứa số nguyên dương n là số trận đấu (1<n<=1000)
  • n dòng tiếp theo mỗi dòng ứng với 6 số nguyên dương tương ứng với việc chia bài một trận. Ba số đầu là các quân bài của người thứ nhất, ba số sau là các quân bài của người thứ 2 (Nếu quân bài Át thì sẽ là ký tự A).

Output

Số trận thắng của người thứ nhất và người thứ 2 sau n trận đấu, kết quả cách nhau một dấu trống

Ví dụ

Input

3
2 3 A 4 6 5
A A 9 6 7 8
9 9 9 A 2 3

Output

2 0

Giải thích

  • Trận 1: Người thứ nhất được 2+3+1=6 điểm còn người thứ hai 4+6+5=15 đổi ra 5 điểm nên người thứ nhất thắng
  • Trận 2: Người thứ nhất được 1+1+9=11 đổi ra 1 điểm còn người thứ hai 6+7+8=21 đổi ra 1 điểm nên hai người hòa
  • Trận 3: Người thứ nhất được 9+9+9=27 đổi ra 7 điểm còn người thứ hai 1+2+3=6 điểm nên người thứ nhất thắng
  • Tổng cộng người thứ nhất thắng 2 và người thứ hai thắng 0
tichpx

Comments


  • 1
    NguyenDongThinh_CNTT4_K61  commented on Jan. 14, 2022, 5:34 a.m.

    //Bài này thì mình cách dài dòng không hay

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        char a[n+1][20];
        int b[n+1][20];
        for(int i=0;i<n;i++)
            for(int j=0;j<6;j++)
                cin>>a[i][j]; 
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<6;j++)
            {
                if(a[i][j]>='2'&&a[i][j]<='9')
                    b[i][j] = int(a[i][j])-48;  
                if(a[i][j]=='A')
                    b[i][j]=1;      
            }       
        }   
        int dem1=0,dem2=0,tong1[n+3]={0},tong2[n+3]={0};
        for(int i=0;i<n;i++)
        {
    //      if(b[i][0]+b[i][1]+b[i][2]>b[i][3]+b[i][4]+b[i][5])
            tong1[i] = b[i][0]+b[i][1]+b[i][2];
            tong2[i] = b[i][3]+b[i][4]+b[i][5];
        }   
        for(int i=0;i<n;i++)
        {
            if(tong1[i]>10&&tong1[i]<=20)
                tong1[i]-=10;
            if(tong2[i]>10&&tong2[i]<=20)
                tong2[i]-=10;
            if(tong2[i]>20)
                tong2[i]-=20;
            if(tong1[i]>20)
                tong1[i]-=20;
        }
        for(int i=0;i<n;i++)
        {
            if(tong1[i]>tong2[i])
                dem1++;
            if(tong1[i]<tong2[i])
                dem2++;
        }
        cout<<dem1<<" "<<dem2;
    }