Pagini recente » Atasamentele paginii Profil Horis21 | Diferente pentru utilizator/blacktundra intre reviziile 2 si 3 | Sandbox | Diferente pentru utilizator/loredana intre reviziile 2 si 3 | Diferente pentru coduri-gray intre reviziile 19 si 20
Diferente pentru
coduri-gray intre reviziile
#19 si
#20
Nu exista diferente intre titluri.
Diferente intre continut:
== code(cpp) |
#include <stdio.h>
#define MAX_N 20
#define MAX_M 33
#define MAX_C 59049
#define FIN "sortnet.in"
#define FOUT "sortnet.out"
#define GRAY(x) ((x) ^ ((x) >> 1))
#define BIT(a, b) (((a) & (1 << (b))) > 0)
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define SORTED(x) (((x) & ((x)+1)) == 0)
#define FOR(i, a, b) for (i = (a); i < (b); i++)
int N, M, G[ 33 ][ 20 ], V[ 33 ], V2[ 33 ], Res;
int N, M, G[MAX_M][MAX_N], V[MAX_M], V2[MAX_M], Res;
inline int GRAY(int x)
{
return x ^ ( x >> 1 );
}
inline int BIT(int a, int b)
{
return (a & (1 << b)) > 0;
}
inline int MIN(int a, int b)
{
return (a < b) ? a : b;
}
inline int MAX(int a, int b)
{
return (a > b) ? a : b;
}
inline int SORTED(int x)
{
return (x & (x+1)) == 0;
}
int works(int n, int a)
{
int i, b, t;
V2[0] = n;
FOR (i, 0, M)
for (i = 0; i < M; i++)
{
b = G[i][a];
if ((BIT(V[i], MAX(a, b)) && !BIT(V[i], MIN(a, b))) ||
{
int i, j, k, a, b, bit;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
freopen("sortnet.in", "r", stdin);
freopen("sortnet.out", "w", stdout);
scanf("%d %d\n", &N, &M);
FOR (i, 0, M) FOR (j, 0, N/2)
{
scanf("<%d,%d> ", &a, &b);
a--; b--;
G[i][a] = b; G[i][b] = a;
}
for (i = 0; i < M; i++)
for (j = 0; j < N/2; j++)
{
scanf("<%d,%d> ", &a, &b);
a--; b--;
G[i][a] = b; G[i][b] = a;
}
Res = 1;
FOR (i, 1, (1<<N))
for (i = 1; i < (1 << N); i++)
{
k = GRAY(i) ^ GRAY(i-1);
for (bit = 0; (1<<bit) < k; bit++);
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.