1.四级标准
掌握基本算法中的动态规划方法。 能够使用上述方法编写指定功能的正确完整的程序。
2.漫漫回国路-题目
时间原因,我就把题目图片放出来,请自行查看。
数据来源:oj.hetao101.com
3.题解
其实这道题在四级练习中算式比较简单的了,大概意思就是说不考虑转机次数和机票价格,只需看能否到达首都国际机场 n,从 dfs(1)开始深搜, dfs(int x),如果第 i 个机场没有被访问,并且 x 到 i 有航班再 dfs(i);看是否能到达n。
代码结构:基本框架-定义变量-输入-处理-输出-结束,返回0;
4.代码
#include <bits/stdc++.h>
using namespace std;
const int N = 2005;
int a[N][N],n,t;
bool vis[N],flag;
void dfs(int x)
{
vis[x] = 1;
if(x == n)
{
flag = true;
return ;
}
for(int i = 1;i <= n;i++)
{
if(! vis[i] && a[x][i] != -1)
{
dfs(i);
}
}
}
void solve()
{
memset(vis,0,sizeof(vis));
flag = false;
cin>>n;
for(int i = 1;i <= n;i++)
{
for(int j = 1;j <= n;j++)
{
cin>>a[i][j];
}
}
dfs(1);
if(flag)
{
cout<<"YES"<<endl;
}
else
{
cout<<"NO"<<endl;
}
}
int main()
{
cin>>t;
while(t--)
{
solve();
}
return 0;
}
很简单,对吧?
The End