1 solutions

  • 0
    @ 2025-11-5 17:30:18

    C++ :

    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <iostream>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <cmath>
    #include <string>
    #include <set>
    #include <map>
    #define maxn 0
     
    using namespace std ;
     
    char ans[5] ;
    char lj[5] ;
    char my[5] ;
     
    int main ()
    {
        int n, m ;
        int p, k ;
        int sum ;
        memset (ans, 0, sizeof(ans)) ;
         
        scanf ("%d%s", &n, ans) ;
         
        while (n--)
        {
            sum = 0 ;
            scanf ("%d\n", &m) ;
            while (m--)
            {
                memset (my, 0, sizeof(my)) ;
                memset (lj, 0, sizeof(lj)) ;
                scanf ("%s%d%d", my, &p, &k) ;
                my[3] = '\0' ;
                sum -= 2 * k ;
                 
                if (p == 1)
                {
                    if (my[0] == ans[0] && my[1] == ans[1] && my[2] == ans[2])
                        sum += 1040 * k ;
                }
                else if (p == 3)
                {
                    strcpy (lj, my) ;
                    sort (lj, lj+3) ;
                     
                    while (next_permutation (lj, lj+3))
                    {
                        if (!strcmp (ans, lj))
                        {
                            sum += 346 * k ;
                            break ;
                        }
                    }
                }
                else if (p == 6)
                {
                    strcpy (lj, my) ;
                    sort (lj, lj+3) ;
                     
                    while (next_permutation (lj, lj+3))
                    {
                        if (!strcmp (ans, lj))
                        {
                            sum += 173 * k ;
                            break ;
                        }
                    }
                }
            }
            if (sum > 0)
                printf ("赚了%d元\n", sum) ;
            else if (sum == 0)
                printf ("您浪费卖彩票的一张纸\n") ;
            else
                printf ("您为了福利事业贡献%d元\n", -sum) ;
        }
     
        return 0 ;
    }
    
    • 1

    Information

    ID
    18494
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By