为啥数组开int过不了,char就行????
查看原帖
为啥数组开int过不了,char就行????
1016201
tjy_tansuper楼主2024/9/5 19:59
#include<bits/stdc++.h>
using namespace std;
const int NUM=1e4+6;
vector<int> g[NUM];
int vis[NUM][NUM];
int n,m;
void dfs(int u){
	for(int v:g[u]){
		if(!vis[u][v]) continue;
		vis[u][v]--; dfs(v);
	}
	cout<<u<<endl;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v; cin>>u>>v;
		vis[u][v]++; vis[v][u]++;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	dfs(1);
	return 0;
}

这样直接MLE(甚至short都过不了)

若改为

#include<bits/stdc++.h>
using namespace std;
const int NUM=1e4+6;
vector<int> g[NUM];
char vis[NUM][NUM];
int n,m;
void dfs(int u){
	for(int v:g[u]){
		if(!vis[u][v]) continue;
		vis[u][v]--; dfs(v);
	}
	cout<<u<<endl;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v; cin>>u>>v;
		vis[u][v]++; vis[v][u]++;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	dfs(1);
	return 0;
}

则AC

???这题啥啊???这么严格吗??

2024/9/5 19:59
加载中...