小白成长记之PTA乙级题 1058

PTA乙级题 1058. 选择题(20)

【题目链接】


比较繁琐。

#include<stdio.h>
int main()
{
    int i,j,k,n,m,x,flag,max;
    scanf("%d %d",&n,&m);
    int score[m],b[m],c[m],sum[n]={0},right[m]={0},fault[m]={0};
    int answer[100][100];
    char ch;
    for (i=0;i<m;i++)
    {
        scanf("%d %d %d ",&score[i],&b[i],&c[i]);
        for (j=0;(ch=getchar())!='\n';j++)
        { 
            if (ch==' ')
            {
                j--;
                continue;
            }
            else
            answer[i][j]=ch;
        }
    }
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;)
        {
            ch=getchar();
            if (ch=='(')
            {
                scanf("%d",&x);
                if (x==c[j])
                {
                    for (k=0;k<x;k++)
                    {
                        flag=1;
                        ch=getchar();
                        if (ch==' ')
                        {
                            k--;
                            continue;
                        }
                        else if (ch!=')')
                        {
                            if (ch!=answer[j][k])
                            {
                                flag=0;
                                break;
                            }
                        }
                    }
                    if (flag==1)
                    { 
                        sum[i]+=score[j];
                        fault[j]--;
                    }
                }
                j++;
            }
        }
    }
    for (i=0;i<n;i++)
    printf("%d\n",sum[i]);
    //次数   编号 
    for (i=0;i<m;i++)
    fault[i]+=n;
    max=fault[0];
    for (i=1;i<m;i++)
    max=(max>fault[i]?max:fault[i]);
    if (max!=0)
    {
        printf("%d",max);
        for (i=0;i<m;i++)
        {
            if (max==fault[i])
            printf(" %d",i+1);
        }
    }
    else
    printf("Too simple");
    return 0;
}
全部评论

相关推荐

26牛牛不会梦到感谢信:羡慕离职了还能吃吗现在就赶回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务