社区讨论
$WA$ $30$ 求解
P1613跑路参与者 3已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @mi6zgmkk
- 此快照首次捕获于
- 2025/11/20 13:20 4 个月前
- 此快照最后确认于
- 2025/11/20 13:20 4 个月前
CPP
#include<bits/stdc++.h>
#define inf INT_MAX
#define ll long long
using namespace std;
bool ma[1010][1010],f[1010];
ll n,m,ans=inf;
ll check(ll x)
{
ll k=0;
while(x>0)
{
if(x%2==1) k++;
x/=2;
}
return k;
}
void dfs(ll x,ll y,ll k)
{
if(x==y)
{
ll t=check(k);
if(t<ans) ans=t;
return;
}
for(int i=1;i<=n;i++)
if(ma[x][i] && !f[i])
{
f[x]=true;
dfs(i,y,k+1);
f[x]=false;
}
}
int main()
{
scanf("%lld %lld",&n,&m);
for(int i=1;i<=m;i++)
{
ll x,y;scanf("%lld %lld",&x,&y);
ma[x][y]=true;
}
dfs(1,n,0);
printf("%lld",ans);
return 0;
}
回复
共 9 条回复,欢迎继续交流。
正在加载回复...