Posted: Sun Oct 31, 2004 12:35 pm
What is wrong with my code??????!?!?!?!!!!!!!
My code generates exactly the same result as the 'correct one' above, but got WA!!
Why?!
Grateful for any help! Thanks
[cpp]
#include <iostream>
#include <algorithm>
using namespace std;
void main(){
int route[7] = {2, 3, 1, 5, 3, 4, 5};
int process;
bool edges[21];
do{
edges[2] = 0;
edges[6] = 0;
edges[3] = 0;
edges[15] = 0;
edges[12] = 0;
edges[10] = 0;
edges[5] = 0;
edges[20] = 0;
process = route[0];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[0] * route[1];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[1] * route[2];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[2] * route[3];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[3] * route[4];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[4] * route[5];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[5] * route[6];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[6] * 2;
if (edges[process])
continue;
else
edges[process] = 1;
cout << 1;
for (int i = 0; i < 7; i++)
cout << route;
cout << 2 << endl;
} while (next_permutation(route, route + 7));
}
[/cpp]
My code generates exactly the same result as the 'correct one' above, but got WA!!
Why?!
Grateful for any help! Thanks
[cpp]
#include <iostream>
#include <algorithm>
using namespace std;
void main(){
int route[7] = {2, 3, 1, 5, 3, 4, 5};
int process;
bool edges[21];
do{
edges[2] = 0;
edges[6] = 0;
edges[3] = 0;
edges[15] = 0;
edges[12] = 0;
edges[10] = 0;
edges[5] = 0;
edges[20] = 0;
process = route[0];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[0] * route[1];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[1] * route[2];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[2] * route[3];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[3] * route[4];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[4] * route[5];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[5] * route[6];
if (edges[process])
continue;
else
edges[process] = 1;
process = route[6] * 2;
if (edges[process])
continue;
else
edges[process] = 1;
cout << 1;
for (int i = 0; i < 7; i++)
cout << route;
cout << 2 << endl;
} while (next_permutation(route, route + 7));
}
[/cpp]