社区讨论

qwq囚救

P8605[蓝桥杯 2013 国 AC] 网络寻路参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m0qkmoqf
此快照首次捕获于
2024/09/06 18:26
2 年前
此快照最后确认于
2025/11/04 21:40
4 个月前
查看原帖
Subtask #1 TLE
CPP
#include<bits/stdc++.h>
#define endl '\n' 
using namespace std;
template<typename T> void read(T&x){
	int sign=1;x=0;char c;
	do{
		c=getchar();
		if(c=='-') sign=-1;
	}while(!isdigit(c));
	do{
		x=x*10+c-'0';
		c=getchar();
	}while(isdigit(c));
	x*=sign;
}
int n,m;
int u,v;
struct op{
	int from,to,next;
}f[200010];
int dis[10010];
int k;
bool ff[10010];
int ans;
void dfs(int x,int y,int z){
//	cout<<x<<" ";
	if(y==3){
//		cout<<endl;
		ans++;
		return;
	}
	for(int i=dis[x];i!=0;i=f[i].next){
		int u=f[i].to;
		if(ff[u]==0){
			if(u==z){
				if(y!=2){
					continue;
				}
			}
			ff[u]=1;
			dfs(u,y+1,z);
			ff[u]=0;
		}
	}
}
void add(int u,int v){
	k++;
	f[k].from=u;
	f[k].to=v;
	f[k].next=dis[u];
	dis[u]=k;
}
signed main(){
	read(n); read(m);
	for(int i=1;i<=m;i++){
		read(u);read(v);
		add(u,v);
		add(v,u);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			ff[j]=0;
		}
		dfs(i,0,i);
	}
	cout<<ans;
	return 0;
} 

回复

1 条回复,欢迎继续交流。

正在加载回复...