8.03.2012 / 12:11 | |
nexmean Пользователь Сейчас: Offline
Имя: Александр Макаров Откуда: Владивосток Регистрация: 11.08.2011
| #include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
long int start, N, M, x, y;
freopen("input.txt", "r", stdin);
cin >> N >> M >> start;
bool A[N][N];
bool visited[N];
long int queue[N];
for (int i = 0; i < M; i++) {
cin >> x >> y;
A[x-1][y-1] = true;
A[y-1][x-1] = true;
}
queue[0] = start;
visited[start] = true;
int r = 0, w = 1;
while (r < w) {
int curr = queue[r++];
for (int i = 0; i < N; i++) {
if (!visited[i] && A[curr][i]) {
visited[i] = true;
queue[w++] = i;
}
}
}
ofstream outputFile("output.txt");
for (int i = 0; i < N; i++)
outputFile << queue[i] << ' ';
outputFile.close();
return 0;
}
поиск в ширину графа но выводит не то что надо...прошелся сам по алгоритму - считать должен все правильно. input.txt: output.txt а должен быть Изменено nexmean (8.03 / 12:11) (всего 1 раз) |
8.03.2012 / 12:20 | |
nexmean Пользователь Сейчас: Offline
Имя: Александр Макаров Откуда: Владивосток Регистрация: 11.08.2011
| #include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
long int start, N, M, x, y, i;
freopen("input.txt", "r", stdin);
cin >> N >> M >> start;
bool A[N][N];
bool visited[N];
long int queue[N];
for (i = 0; i < M; i++) {
cin >> x >> y;
A[x-1][y-1] = true;
A[y-1][x-1] = true;
}
queue[0] = start - 1;
visited[start - 1] = true;
int r = 0, w = 1;
while (r < w) {
int curr = queue[r++];
for (i = 0; i < N; i++) {
if (!visited[i] && A[curr][i]) {
visited[i] = true;
queue[w++] = i;
}
}
}
ofstream outputFile("output.txt");
for (i = 0; i < N; i++)
outputFile << queue[i] + 1 << ' ';
outputFile.close();
return 0;
}
fixed Изменено nexmean (8.03 / 12:20) (всего 2 раза) |
10.03.2012 / 12:58 | |
Pauk52 Пользователь Сейчас: Offline
Имя: Володимир Откуда: Пески-радьковские Регистрация: 25.01.2011
| что делает оператор % я почему то думал что это тот самый mod с паскаля но нет когда я ввёл тот такой код #include <iostream>
using namespace std;
int main() { int q; cin >> q; cout << q%2; system("pause >> void"); }
мне пишет то 1 то 0.
|
10.03.2012 / 13:47 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Pauk52, это остаток от деления.
__________________
let live |
10.03.2012 / 14:36 | |
XakepPRO Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| aNNiMON, a mod b - остаток деления a на b. Pauk52, странно.. |
10.03.2012 / 14:44 | |
LPzhelud Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| XakepPRO, это в паскале. В других Языках Программирования всё по другому
__________________
Эль Презеденте Изменено LPzhelud (10.03 / 19:54) (всего 1 раз) |
10.03.2012 / 15:03 | |
XakepPRO Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| LPzhelud, 0%33=0; 32%33=32; 66%33=0; 67%33=1; 68%33=2;
Что здесь по- другому? |
10.03.2012 / 15:23 | |
LPzhelud Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| XakepPRO, a mod b XakepPRO, это в паскале. В других Языках Программирования всё по другому
__________________
Эль Презеденте Изменено LPzhelud (10.03 / 19:54) (всего 1 раз) |
10.03.2012 / 15:43 | |
XakepPRO Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| LPzhelud, фейспалм Опять-таки, тот же вопрос, что именно по-другому? Никакой разницы кроме разного вида записи (mod / %) я не вижу. |
10.03.2012 / 15:45 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| XakepPRO, вот именно! Так какого же фига ты написал первую часть этого поста? __________________
let live |