- شروع کننده موضوع
- #1
مهدی
کاربر فوقحرفهای
- ارسالها
- 1,112
- امتیاز
- 7,384
- نام مرکز سمپاد
- علامهحلی
- شهر
- تهران
- مدال المپیاد
- کامپیوتر
- دانشگاه
- دانشگاه تهران. :دی
- رشته دانشگاه
- آمار. :دی
تو این تاپیک کد الگوریتم های پرکاربرد رو میتونید بزارید تا ملت بیان استفاده کنن
منم مثل اینایی که میخوان پروژه رو افتتاح کنن با کلنگ دو سه تا از الگوریتم های معروف رو میذارم کدشون رو
دی اف اس
بی اف اس
الان خوابم میاد ... حسش بود بازم میام کداشون رو میذارم
شمام هر الگوریتمی که به نظرتون به کار میاد رو میتونید بذارید
منم مثل اینایی که میخوان پروژه رو افتتاح کنن با کلنگ دو سه تا از الگوریتم های معروف رو میذارم کدشون رو
کد:
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 100;
int n, m;
bool mark[N];
bool g[N][N];
void dfs(int v){
mark[v] = true;
for(int i = 1; i <= n; i++)
if(mark[i] == 0 && g[v][i] == 1)
dfs(i);
}
int main(){
cin >> n >> m;
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b;
g[a][b] = g[b][a] = true;
}
dfs(1);
if(mark[n] == 1)
cout << "Yes" << endl;
else
cout << "No" << endl;
system("pause");
}
کد:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int N = 100;
vector <int>adj[N];
bool mark[N];
int depth[N];
int main(){
int n, m;
cin >> n >> m;
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b;
adj[a].push_back(b);
adj[b].push_back(a);
}
int que[N], h = 0, t = 1;
que[0] = 1;
mark[1] = true;
for(int h = 0;h < t; h++){
int v = que[h];
for(int i = 0; i < adj[v].size(); i++){
int u = adj[v][i];
if(!mark[u]){
depth[u] = depth[v] + 1;
mark[u] = true;
que[t++] = u;
}
}
}
cout << depth[n] << endl;
system("pause");
}
الان خوابم میاد ... حسش بود بازم میام کداشون رو میذارم
شمام هر الگوریتمی که به نظرتون به کار میاد رو میتونید بذارید