40 Runtime Error

# 状态 分数 耗时 内存占用
#1 Accepted 10 1ms 7.6 MiB
#2 Runtime Error 0 Segmentation fault 2ms 7.5 MiB
#3 Runtime Error 0 Segmentation fault 1ms 7.6 MiB
#4 Accepted 10 1ms 7.4 MiB
#5 Accepted 10 1ms 7.5 MiB
#6 Runtime Error 0 Segmentation fault 1ms 7.6 MiB
#7 Accepted 10 2ms 7.6 MiB
#8 Runtime Error 0 Segmentation fault 1ms 7.2 MiB
#9 Runtime Error 0 Segmentation fault 0ms 7.6 MiB
#10 Runtime Error 0 Segmentation fault 1ms 7.6 MiB

代码

#include <bits/stdc++.h>
using namespace std;
int n,m;
char a[1005][10];
queue<int>q[1005];
int b[10];
bool vis[10];
int main()
{
    cin>>m>>n;
    memset(a,0,sizeof(a));
    memset(vis,1,sizeof(vis));
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
            if(a[i][j]=='0')
                break; 
            else
                q[i].push(a[i][j]-'0');
        }
    }
    int num=m;
    for (int k=1;k<=n;k++)
    {
        memset(b,0,sizeof(b));
        for (int i=1;i<=n;i++)
        {
            b[q[i].front()]++;
        }
        int minn=n+1;
        for (int i=1;i<=m;i++)
        {
            if (vis[i]==1)
            {
                minn=min(minn,b[i]);
            }
        }
        for (int i=1;i<=m;i++)
        {
            if (minn==b[i]&&vis[i]==1)
            {
                vis[i]=0;
                num--;
            }
        }
        if (num==0)
        {
            cout<<-minn;
            return 0;
        }
        if (num==1)
        {
            for (int i=1;i<=m;i++)
            {
                if (vis[i])
                {
                    cout<<i;
                    return 0;
                }
            }
        }
        for (int i=1;i<=n;i++)
        {
            while(vis[q[i].front()]==0)
                q[i].pop();
        }
    }
    return 0;
}

信息

递交者
题目
LQ1073  评选最佳品牌
比赛
蓝桥杯省赛历年真题
语言
C++ 98
递交时间
10 个月前
评测时间
10 个月前
分数
40
总耗时
9ms
峰值内存
7.6 MiB