LINUX.ORG.RU

История изменений

Исправление AnonymUser, (текущая версия) :

И казалось бы, питонщик уходит в отрыв, но тут подоспел мой код:

/*Поиск всех путей на графе. Переписан из кода PHP*/
#include <stdio.h>
#include <string.h>

static int array_search (const char *ar, char el) {
    int i = 0;
    while (ar[i] != '\0') {
        if (ar[i] == el) return i;
        i++;
    }
    return -1;
}

int main() {

int key;
char a[] = "bcdz";
char b[] = "defz";
char c[] = "defz";
char d[] = "efz";
char e[] = "fz";
char f[] = "ghjz";
char g[] = "hijz";
char h[] = "ijkz";
char i[] = "jklz";
char j[] = "kmz";
char k[] = "lnoz";
char l[] = "mz";
char m[] = "noz";
char n[] = "oz";
char o[] = "pz";
char p[] = "qz";
char q[] = "rz";
char r[] = "sz";
char s[] = "tuz";
char t[] = "uvz";
char u[] = "vwz";
char v[] = "wz";
char w[] = "xyz";
char x[] = "yz";
char y[] = "z";
char z[] = "";
char x2[26] = "abdefghijklmnopqrstuvwxyz";
char z2;

int  j2 = strlen(x2)-1;
int last_point = 'z';
int i2 = 0;
char *ar;
int x2_len = 0;
//Печать 1-го
for (i2=0; x2[i2] != '\0'; i2++)
printf("%c", x2[i2]);
printf("\n\r");
int ppp = 1;

while ( j2 != 0 )
 {

    if (x2[j2-1] =='a')
	ar = a;
	if (x2[j2-1] =='b')
	ar = b;
	if (x2[j2-1] =='c')
	ar = c;
	if (x2[j2-1] =='d')
	ar = d;
	if (x2[j2-1] =='e')
	ar = e;
	if (x2[j2-1] =='f')
	ar = f;
	if (x2[j2-1] =='g')
    ar = g;
if (x2[j2-1] =='h')
    ar = h;
if (x2[j2-1] =='i')
    ar = i;
if (x2[j2-1] =='j')
    ar = j;
if (x2[j2-1] =='k')
    ar = k;
if (x2[j2-1] =='l')
    ar = l;
if (x2[j2-1] =='m')
    ar = m;
if (x2[j2-1] =='n')
    ar = n;
if (x2[j2-1] =='o')
    ar = o;
if (x2[j2-1] =='p')
    ar = p;
if (x2[j2-1] =='q')
    ar = q;
if (x2[j2-1] =='r')
    ar = r;
if (x2[j2-1] =='s')
    ar = s;
if (x2[j2-1] =='t')
    ar = t;
if (x2[j2-1] =='u')
    ar = u;
if (x2[j2-1] =='v')
    ar = v;
if (x2[j2-1] =='w')
    ar = w;
if (x2[j2-1] =='x')
    ar = x;
if (x2[j2-1] =='y')
    ar = y;
if (x2[j2-1] =='z')
    ar = z;

  key =  array_search(ar, x2[ j2]);

       if ((key != -1) && (ar[key + 1] != '\0')) {
			//Ставим длину массива равной j
		 x2_len = j2;
		 //Заменим substr
		  x2[j2+1]='\0';

		  //Пишем в массив x
		   x2[x2_len++]= ar[key+1];


    if (x2[strlen(x2)-1] =='a')
	z2 = a[0];
		if (x2[strlen(x2)-1] =='b')
	z2 = b[0];
		if (x2[strlen(x2)-1] =='c')
	z2 = c[0];
	    if (x2[strlen(x2)-1] =='d')
	z2 = d[0];
		if (x2[strlen(x2)-1] =='e')
	z2 = e[0];
		if (x2[strlen(x2)-1] =='f')
	z2 = f[0];
	if (x2[strlen(x2)-1] =='g')
    z2 = g[0];
if (x2[strlen(x2)-1] =='h')
    z2 = h[0];
if (x2[strlen(x2)-1] =='i')
    z2 = i[0];
if (x2[strlen(x2)-1] =='j')
    z2 = j[0];
if (x2[strlen(x2)-1] =='k')
    z2 = k[0];
if (x2[strlen(x2)-1] =='l')
    z2 = l[0];
if (x2[strlen(x2)-1] =='m')
    z2 = m[0];
if (x2[strlen(x2)-1] =='n')
    z2 = n[0];
if (x2[strlen(x2)-1] =='o')
    z2 = o[0];
if (x2[strlen(x2)-1] =='p')
    z2 = p[0];
if (x2[strlen(x2)-1] =='q')
    z2 = q[0];
if (x2[strlen(x2)-1] =='r')
    z2 = r[0];
if (x2[strlen(x2)-1] =='s')
    z2 = s[0];
if (x2[strlen(x2)-1] =='t')
    z2 = t[0];
if (x2[strlen(x2)-1] =='u')
    z2 = u[0];
if (x2[strlen(x2)-1] =='v')
    z2 = v[0];
if (x2[strlen(x2)-1] =='w')
    z2 = w[0];
if (x2[strlen(x2)-1] =='x')
    z2 = x[0];
if (x2[strlen(x2)-1] =='y')
    z2 = y[0];
if (x2[strlen(x2)-1] =='z')
    z2 = z[0];


while(1) {
		//Если дошли до f выходим
		if ((x2[strlen(x2)-1] == last_point)) {
			//Пишем в x2
			 x2[x2_len++] = z2;
			 break;
		 }
			//Пишем в x2
			x2[x2_len++] = z2;
  if (x2[strlen(x2)-1] =='a')
	z2 = a[0];
		if (x2[strlen(x2)-1] =='b')
	z2 = b[0];
		if (x2[strlen(x2)-1] =='c')
	z2 = c[0];
	    if (x2[strlen(x2)-1] =='d')
	z2 = d[0];
		if (x2[strlen(x2)-1] =='e')
	z2 = e[0];
		if (x2[strlen(x2)-1] =='f')
	z2 = f[0];
	if (x2[strlen(x2)-1] =='g')
    z2 = g[0];
if (x2[strlen(x2)-1] =='h')
    z2 = h[0];
if (x2[strlen(x2)-1] =='i')
    z2 = i[0];
if (x2[strlen(x2)-1] =='j')
    z2 = j[0];
if (x2[strlen(x2)-1] =='k')
    z2 = k[0];
if (x2[strlen(x2)-1] =='l')
    z2 = l[0];
if (x2[strlen(x2)-1] =='m')
    z2 = m[0];
if (x2[strlen(x2)-1] =='n')
    z2 = n[0];
if (x2[strlen(x2)-1] =='o')
    z2 = o[0];
if (x2[strlen(x2)-1] =='p')
    z2 = p[0];
if (x2[strlen(x2)-1] =='q')
    z2 = q[0];
if (x2[strlen(x2)-1] =='r')
    z2 = r[0];
if (x2[strlen(x2)-1] =='s')
    z2 = s[0];
if (x2[strlen(x2)-1] =='t')
    z2 = t[0];
if (x2[strlen(x2)-1] =='u')
    z2 = u[0];
if (x2[strlen(x2)-1] =='v')
    z2 = v[0];
if (x2[strlen(x2)-1] =='w')
    z2 = w[0];
if (x2[strlen(x2)-1] =='x')
    z2 = x[0];
if (x2[strlen(x2)-1] =='y')
    z2 = y[0];
if (x2[strlen(x2)-1] =='z')
    z2 = z[0];

				}
				//Переменную ставим равной массиву
				 j2=strlen(x2);
				//Выводим
				printf("%s", x2);
				printf("\n\r");
				ppp++;
			}
 j2--;
		}
		printf("%d", ppp);
 }



Время с выводом:

real	0m0,544s
user	0m0,169s
sys	0m0,285s

Время без вывода:

real	0m0,097s
user	0m0,093s
sys	0m0,005s

И … сертификат на МакБук Про достается всё-таки мне. =) Неожиданный поворт в нашем шоу. Все-таки люди победили нейронные сети.

Исправление AnonymUser, :

И казалось бы, питонщик уходит в отрыв, но тут подоспел мой код:

/*Поиск всех путей на графе. Переписан из кода PHP*/
#include <stdio.h>
#include <string.h>

static int array_search (const char *ar, char el) {
    int i = 0;
    while (ar[i] != '\0') {
        if (ar[i] == el) return i;
        i++;
    }
    return -1;
}

int main() {

int key;
char a[] = "bcdz";
char b[] = "defz";
char c[] = "defz";
char d[] = "efz";
char e[] = "fz";
char f[] = "ghjz";
char g[] = "hijz";
char h[] = "ijkz";
char i[] = "jklz";
char j[] = "kmz";
char k[] = "lnoz";
char l[] = "mz";
char m[] = "noz";
char n[] = "oz";
char o[] = "pz";
char p[] = "qz";
char q[] = "rz";
char r[] = "sz";
char s[] = "tuz";
char t[] = "uvz";
char u[] = "vwz";
char v[] = "wz";
char w[] = "xyz";
char x[] = "yz";
char y[] = "z";
char z[] = "";
char x2[26] = "abdefghijklmnopqrstuvwxyz";
char z2;

int  j2 = strlen(x2)-1;
int last_point = 'z';
int i2 = 0;
char *ar;
int x2_len = 0;
//Печать 1-го
for (i2=0; x2[i2] != '\0'; i2++)
printf("%c", x2[i2]);
printf("\n\r");
int ppp = 1;

while ( j2 != 0 )
 {

    if (x2[j2-1] =='a')
	ar = a;
	if (x2[j2-1] =='b')
	ar = b;
	if (x2[j2-1] =='c')
	ar = c;
	if (x2[j2-1] =='d')
	ar = d;
	if (x2[j2-1] =='e')
	ar = e;
	if (x2[j2-1] =='f')
	ar = f;
	if (x2[j2-1] =='g')
    ar = g;
if (x2[j2-1] =='h')
    ar = h;
if (x2[j2-1] =='i')
    ar = i;
if (x2[j2-1] =='j')
    ar = j;
if (x2[j2-1] =='k')
    ar = k;
if (x2[j2-1] =='l')
    ar = l;
if (x2[j2-1] =='m')
    ar = m;
if (x2[j2-1] =='n')
    ar = n;
if (x2[j2-1] =='o')
    ar = o;
if (x2[j2-1] =='p')
    ar = p;
if (x2[j2-1] =='q')
    ar = q;
if (x2[j2-1] =='r')
    ar = r;
if (x2[j2-1] =='s')
    ar = s;
if (x2[j2-1] =='t')
    ar = t;
if (x2[j2-1] =='u')
    ar = u;
if (x2[j2-1] =='v')
    ar = v;
if (x2[j2-1] =='w')
    ar = w;
if (x2[j2-1] =='x')
    ar = x;
if (x2[j2-1] =='y')
    ar = y;
if (x2[j2-1] =='z')
    ar = z;

  key =  array_search(ar, x2[ j2]);

       if ((key != -1) && (ar[key + 1] != '\0')) {
			//Ставим длину массива равной j
		 x2_len = j2;
		 //Заменим substr
		  x2[j2+1]='\0';

		  //Пишем в массив x
		   x2[x2_len++]= ar[key+1];


    if (x2[strlen(x2)-1] =='a')
	z2 = a[0];
		if (x2[strlen(x2)-1] =='b')
	z2 = b[0];
		if (x2[strlen(x2)-1] =='c')
	z2 = c[0];
	    if (x2[strlen(x2)-1] =='d')
	z2 = d[0];
		if (x2[strlen(x2)-1] =='e')
	z2 = e[0];
		if (x2[strlen(x2)-1] =='f')
	z2 = f[0];
	if (x2[strlen(x2)-1] =='g')
    z2 = g[0];
if (x2[strlen(x2)-1] =='h')
    z2 = h[0];
if (x2[strlen(x2)-1] =='i')
    z2 = i[0];
if (x2[strlen(x2)-1] =='j')
    z2 = j[0];
if (x2[strlen(x2)-1] =='k')
    z2 = k[0];
if (x2[strlen(x2)-1] =='l')
    z2 = l[0];
if (x2[strlen(x2)-1] =='m')
    z2 = m[0];
if (x2[strlen(x2)-1] =='n')
    z2 = n[0];
if (x2[strlen(x2)-1] =='o')
    z2 = o[0];
if (x2[strlen(x2)-1] =='p')
    z2 = p[0];
if (x2[strlen(x2)-1] =='q')
    z2 = q[0];
if (x2[strlen(x2)-1] =='r')
    z2 = r[0];
if (x2[strlen(x2)-1] =='s')
    z2 = s[0];
if (x2[strlen(x2)-1] =='t')
    z2 = t[0];
if (x2[strlen(x2)-1] =='u')
    z2 = u[0];
if (x2[strlen(x2)-1] =='v')
    z2 = v[0];
if (x2[strlen(x2)-1] =='w')
    z2 = w[0];
if (x2[strlen(x2)-1] =='x')
    z2 = x[0];
if (x2[strlen(x2)-1] =='y')
    z2 = y[0];
if (x2[strlen(x2)-1] =='z')
    z2 = z[0];


while(1) {
		//Если дошли до f выходим
		if ((x2[strlen(x2)-1] == last_point)) {
			//Пишем в x2
			 x2[x2_len++] = z2;
			 break;
		 }
			//Пишем в x2
			x2[x2_len++] = z2;
  if (x2[strlen(x2)-1] =='a')
	z2 = a[0];
		if (x2[strlen(x2)-1] =='b')
	z2 = b[0];
		if (x2[strlen(x2)-1] =='c')
	z2 = c[0];
	    if (x2[strlen(x2)-1] =='d')
	z2 = d[0];
		if (x2[strlen(x2)-1] =='e')
	z2 = e[0];
		if (x2[strlen(x2)-1] =='f')
	z2 = f[0];
	if (x2[strlen(x2)-1] =='g')
    z2 = g[0];
if (x2[strlen(x2)-1] =='h')
    z2 = h[0];
if (x2[strlen(x2)-1] =='i')
    z2 = i[0];
if (x2[strlen(x2)-1] =='j')
    z2 = j[0];
if (x2[strlen(x2)-1] =='k')
    z2 = k[0];
if (x2[strlen(x2)-1] =='l')
    z2 = l[0];
if (x2[strlen(x2)-1] =='m')
    z2 = m[0];
if (x2[strlen(x2)-1] =='n')
    z2 = n[0];
if (x2[strlen(x2)-1] =='o')
    z2 = o[0];
if (x2[strlen(x2)-1] =='p')
    z2 = p[0];
if (x2[strlen(x2)-1] =='q')
    z2 = q[0];
if (x2[strlen(x2)-1] =='r')
    z2 = r[0];
if (x2[strlen(x2)-1] =='s')
    z2 = s[0];
if (x2[strlen(x2)-1] =='t')
    z2 = t[0];
if (x2[strlen(x2)-1] =='u')
    z2 = u[0];
if (x2[strlen(x2)-1] =='v')
    z2 = v[0];
if (x2[strlen(x2)-1] =='w')
    z2 = w[0];
if (x2[strlen(x2)-1] =='x')
    z2 = x[0];
if (x2[strlen(x2)-1] =='y')
    z2 = y[0];
if (x2[strlen(x2)-1] =='z')
    z2 = z[0];

				}
				//Переменную ставим равной массиву
				 j2=strlen(x2);
				//Выводим
				printf("%s", x2);
				printf("\n\r");
				ppp++;
			}
 j2--;
		}
		printf("%d", ppp);
 }



Время с выводом:

real	0m0,544s
user	0m0,169s
sys	0m0,285s

Время без вывода:

real	0m0,097s
user	0m0,093s
sys	0m0,005s

И … сертификат на МакБук Про достается всё-таки мне. =) Неожиданный поворт в нашем шоу.

Исходная версия AnonymUser, :

И казалось бы, питонщик уходит в отрыв, но тут подоспел мой код:

/*Поиск всех путей на графе. Переписан из код PHP*/
#include <stdio.h>
#include <string.h>

static int array_search (const char *ar, char el) {
    int i = 0;
    while (ar[i] != '\0') {
        if (ar[i] == el) return i;
        i++;
    }
    return -1;
}

int main() {

int key;
char a[] = "bcdz";
char b[] = "defz";
char c[] = "defz";
char d[] = "efz";
char e[] = "fz";
char f[] = "ghjz";
char g[] = "hijz";
char h[] = "ijkz";
char i[] = "jklz";
char j[] = "kmz";
char k[] = "lnoz";
char l[] = "mz";
char m[] = "noz";
char n[] = "oz";
char o[] = "pz";
char p[] = "qz";
char q[] = "rz";
char r[] = "sz";
char s[] = "tuz";
char t[] = "uvz";
char u[] = "vwz";
char v[] = "wz";
char w[] = "xyz";
char x[] = "yz";
char y[] = "z";
char z[] = "";
char x2[26] = "abdefghijklmnopqrstuvwxyz";
char z2;

int  j2 = strlen(x2)-1;
int last_point = 'z';
int i2 = 0;
char *ar;
int x2_len = 0;
//Печать 1-го
for (i2=0; x2[i2] != '\0'; i2++)
printf("%c", x2[i2]);
printf("\n\r");
int ppp = 1;

while ( j2 != 0 )
 {

    if (x2[j2-1] =='a')
	ar = a;
	if (x2[j2-1] =='b')
	ar = b;
	if (x2[j2-1] =='c')
	ar = c;
	if (x2[j2-1] =='d')
	ar = d;
	if (x2[j2-1] =='e')
	ar = e;
	if (x2[j2-1] =='f')
	ar = f;
	if (x2[j2-1] =='g')
    ar = g;
if (x2[j2-1] =='h')
    ar = h;
if (x2[j2-1] =='i')
    ar = i;
if (x2[j2-1] =='j')
    ar = j;
if (x2[j2-1] =='k')
    ar = k;
if (x2[j2-1] =='l')
    ar = l;
if (x2[j2-1] =='m')
    ar = m;
if (x2[j2-1] =='n')
    ar = n;
if (x2[j2-1] =='o')
    ar = o;
if (x2[j2-1] =='p')
    ar = p;
if (x2[j2-1] =='q')
    ar = q;
if (x2[j2-1] =='r')
    ar = r;
if (x2[j2-1] =='s')
    ar = s;
if (x2[j2-1] =='t')
    ar = t;
if (x2[j2-1] =='u')
    ar = u;
if (x2[j2-1] =='v')
    ar = v;
if (x2[j2-1] =='w')
    ar = w;
if (x2[j2-1] =='x')
    ar = x;
if (x2[j2-1] =='y')
    ar = y;
if (x2[j2-1] =='z')
    ar = z;

  key =  array_search(ar, x2[ j2]);

       if ((key != -1) && (ar[key + 1] != '\0')) {
			//Ставим длину массива равной j
		 x2_len = j2;
		 //Заменим substr
		  x2[j2+1]='\0';

		  //Пишем в массив x
		   x2[x2_len++]= ar[key+1];


    if (x2[strlen(x2)-1] =='a')
	z2 = a[0];
		if (x2[strlen(x2)-1] =='b')
	z2 = b[0];
		if (x2[strlen(x2)-1] =='c')
	z2 = c[0];
	    if (x2[strlen(x2)-1] =='d')
	z2 = d[0];
		if (x2[strlen(x2)-1] =='e')
	z2 = e[0];
		if (x2[strlen(x2)-1] =='f')
	z2 = f[0];
	if (x2[strlen(x2)-1] =='g')
    z2 = g[0];
if (x2[strlen(x2)-1] =='h')
    z2 = h[0];
if (x2[strlen(x2)-1] =='i')
    z2 = i[0];
if (x2[strlen(x2)-1] =='j')
    z2 = j[0];
if (x2[strlen(x2)-1] =='k')
    z2 = k[0];
if (x2[strlen(x2)-1] =='l')
    z2 = l[0];
if (x2[strlen(x2)-1] =='m')
    z2 = m[0];
if (x2[strlen(x2)-1] =='n')
    z2 = n[0];
if (x2[strlen(x2)-1] =='o')
    z2 = o[0];
if (x2[strlen(x2)-1] =='p')
    z2 = p[0];
if (x2[strlen(x2)-1] =='q')
    z2 = q[0];
if (x2[strlen(x2)-1] =='r')
    z2 = r[0];
if (x2[strlen(x2)-1] =='s')
    z2 = s[0];
if (x2[strlen(x2)-1] =='t')
    z2 = t[0];
if (x2[strlen(x2)-1] =='u')
    z2 = u[0];
if (x2[strlen(x2)-1] =='v')
    z2 = v[0];
if (x2[strlen(x2)-1] =='w')
    z2 = w[0];
if (x2[strlen(x2)-1] =='x')
    z2 = x[0];
if (x2[strlen(x2)-1] =='y')
    z2 = y[0];
if (x2[strlen(x2)-1] =='z')
    z2 = z[0];


while(1) {
		//Если дошли до f выходим
		if ((x2[strlen(x2)-1] == last_point)) {
			//Пишем в x2
			 x2[x2_len++] = z2;
			 break;
		 }
			//Пишем в x2
			x2[x2_len++] = z2;
  if (x2[strlen(x2)-1] =='a')
	z2 = a[0];
		if (x2[strlen(x2)-1] =='b')
	z2 = b[0];
		if (x2[strlen(x2)-1] =='c')
	z2 = c[0];
	    if (x2[strlen(x2)-1] =='d')
	z2 = d[0];
		if (x2[strlen(x2)-1] =='e')
	z2 = e[0];
		if (x2[strlen(x2)-1] =='f')
	z2 = f[0];
	if (x2[strlen(x2)-1] =='g')
    z2 = g[0];
if (x2[strlen(x2)-1] =='h')
    z2 = h[0];
if (x2[strlen(x2)-1] =='i')
    z2 = i[0];
if (x2[strlen(x2)-1] =='j')
    z2 = j[0];
if (x2[strlen(x2)-1] =='k')
    z2 = k[0];
if (x2[strlen(x2)-1] =='l')
    z2 = l[0];
if (x2[strlen(x2)-1] =='m')
    z2 = m[0];
if (x2[strlen(x2)-1] =='n')
    z2 = n[0];
if (x2[strlen(x2)-1] =='o')
    z2 = o[0];
if (x2[strlen(x2)-1] =='p')
    z2 = p[0];
if (x2[strlen(x2)-1] =='q')
    z2 = q[0];
if (x2[strlen(x2)-1] =='r')
    z2 = r[0];
if (x2[strlen(x2)-1] =='s')
    z2 = s[0];
if (x2[strlen(x2)-1] =='t')
    z2 = t[0];
if (x2[strlen(x2)-1] =='u')
    z2 = u[0];
if (x2[strlen(x2)-1] =='v')
    z2 = v[0];
if (x2[strlen(x2)-1] =='w')
    z2 = w[0];
if (x2[strlen(x2)-1] =='x')
    z2 = x[0];
if (x2[strlen(x2)-1] =='y')
    z2 = y[0];
if (x2[strlen(x2)-1] =='z')
    z2 = z[0];

				}
				//Переменную ставим равной массиву
				 j2=strlen(x2);
				//Выводим
				printf("%s", x2);
				printf("\n\r");
				ppp++;
			}
 j2--;
		}
		printf("%d", ppp);
 }



Время с выводом:

real	0m0,544s
user	0m0,169s
sys	0m0,285s

Время без вывода:

real	0m0,097s
user	0m0,093s
sys	0m0,005s

И … сертификат на МакБук Про достается всё-таки мне. =) Неожиданный поворт в нашем шоу.