40分RE求助
  • 板块P2712 摄像头
  • 楼主123rrc
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/7 21:32
  • 上次更新2024/8/7 22:32:11
查看原帖
40分RE求助
538243
123rrc楼主2024/8/7 21:32

使用此代码提交,4个点AC,6个点RE,报错信息:

Runtime Error. Received signal 11: Segmentation fault with invalid memory reference.

请大佬帮忙看看这是怎么回事?

#include<bits/stdc++.h>
using namespace std;
int n;
queue<int>q;
map<int,int>indexx;
int cnt=0,vis[9990001]={},d[9990001]={},a[5001][5001]={},pos[9990001]={},m[9990001]={},mapp[5001][5001]={};
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>pos[i]>>m[i];
		indexx[pos[i]]=i;
		for(int j=1;j<=m[i];j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m[i];j++){
			int position=a[i][j];
			if(indexx.find(position)!=indexx.end())mapp[i][indexx[position]]=1;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(mapp[i][j]==1){
				d[j]++;
			}
		}
	}
	do{
		for(int i=1;i<=n;i++){
			if(!vis[i]&&d[i]==0){
				q.push(i);
				vis[i]=1;
				cnt++;
				for(int j=1;j<=n;j++){
					if(mapp[i][j]==1){
						d[j]--;
					}
				}
			}
		}
		q.pop();
	}while(!q.empty());
	if(cnt==n){
		cout<<"YES";
	}else{
		cout<<n-cnt;
	}
	return 0;
}
2024/8/7 21:32
加载中...