各位大佬们,萌新代码疑惑求助!!
查看原帖
各位大佬们,萌新代码疑惑求助!!
339018
Panic_Kid楼主2021/10/17 15:29

让本蒟蒻来讲一下事情经过:

我先提交了一份代码:

#include<iostream>
#include<vector>
#include<queue>
#define MOD  80112002
using namespace std;

vector<int> mp[5005];
queue<int> Q;

int out[5005];
int in[5005];
int f[5005];

int main()
{
	int n,m,ans;
	cin >> n >> m;
	
	for(int i = 1;i <= m;i++){
		int x,y;
		cin >> x >> y;
		out[x]++;
		in[y]++;
		mp[x].push_back(y);
	}
	
	for(int i = 1;i <= n;i++){
		if(in[i] == 0){
			Q.push(i);
			f[i] = 1;
		}
	}
	
	while(!Q.empty()){
		int x = Q.front();
		Q.pop();
		for(int i = 0,sz = mp[x].size()/*注意这里*/;i < sz;i++){
			int y = mp[x][i];
			f[y] = (f[x] + f[y]) % MOD;
			in[y]--;
			
			if(in[y] == 0){
				Q.push(y);
			}
		
		}
	}
	
	for(int i = 1;i <= n;i++){
		if(out[i] == 0){
			ans = (ans + f[i]) % MOD;
		}
	}
	cout << ans ;
	return 0;
}

发现全过了(开心!),但本着代码要学透的精神,


我又把第40行的 sz = mp[x].size(); i < sz,换成了 i < mp[x].size()


又提交了一遍,就很奇特的全WA了,而且不是RE ???

之后我冷静的又下载了样例1,发现我的输出与答案完全一样???


放图:

------------




它说答案的第一行第三列读到了4,希望读到2 ?????

本蒟蒻不能理解啊啊啊??? 求助!!!

2021/10/17 15:29
加载中...